Compare commits

..

2 Commits

Author SHA1 Message Date
Cutls
1f597a9d4a Merge pull request #63 from cutls/WIP-(before-CI)
Wip (before ci)
2019-04-22 23:20:07 +09:00
Cutls
edf1a6ec29 Merge pull request #59 from cutls/WIP-(before-CI)
Wip (before ci)
2019-04-20 13:52:35 +09:00
332 changed files with 47577 additions and 46359 deletions

8
.github/FUNDING.yml vendored
View File

@@ -1,8 +0,0 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: cutls
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
custom: https://www.pixiv.net/fanbox/creator/28105985

View File

@@ -1,27 +0,0 @@
---
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.

View File

@@ -1,27 +0,0 @@
---
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]
**追記**
追記

15
.gitignore vendored
View File

@@ -3,7 +3,10 @@
*.7z *.7z
*.exe *.exe
TheDesk-* TheDesk-*
build/* app/build
build
make.js
make_js.js
app/.DS_Store app/.DS_Store
.DS_Store .DS_Store
.vs/* .vs/*
@@ -12,13 +15,3 @@ enq.md
app/.tkn app/.tkn
app/node_modules app/node_modules
app/js/login/tkn.js app/js/login/tkn.js
app/view/en
app/view/ja
app/view/de
app/view/bg
app/view/cs
app/view/ps
app/view/es-AR
app/git
*.code-workspace
releasenote.md

View File

@@ -1,53 +1,36 @@
os: language: objective-c
- windows
- linux
- osx
language: node_js
env:
- YARN_GPG=no
node_js:
- '10.15.2'
cache: cache:
yarn: true directories:
- node_modules
env:
- NODE_VERSION="10.15.2"
before_install:
- git clone https://github.com/creationix/nvm.git /tmp/.nvm
- source /tmp/.nvm/nvm.sh
- nvm install $NODE_VERSION
- nvm use --delete-prefix $NODE_VERSION
- node --version
script: node -v script: node -v
before_deploy: before_deploy:
- yarn global add electron-builder - npm install electron-builder -g
- cd app - cd app
- VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]') - npm install
- yarn install --no-lockfile --prod - electron-builder --mac --x64 -p never
- yarn construct - mv ../build/TheDesk*.dmg ../TheDesk.dmg
- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi - mv ../build/TheDesk*.zip ../TheDesk-darwin-x64.zip
- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux --x64 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then ls;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv thedesk-*.zip thedesk.zip;else :;fi
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../app;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then yarn add electron-builder;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then electron-builder --win --ia32 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then ls;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv TheDesk-setup.exe TheDesk-setup-ia32.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv *$VERSION.exe TheDesk-ia32.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../app;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then electron-builder --win --x64 -p never;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then ls;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv ../build/TheDesk-setup.exe ../build/TheDesk-setup.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv ../build/*$VERSION.exe ../build/TheDesk.exe;else :;fi
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../app;else :;fi
- cd ../ - cd ../
- ls build
deploy: deploy:
provider: releases provider: releases
# GitHub にリリースするための API KEY を暗号化した値 # GitHub にリリースするための API KEY を暗号化した値
api_key: api_key:
secure: jndR02p5KRTtcJk18b3YsXL2cC+yzEf1AOqXdpWciF8f3lO5oY01jlxd17xdHIcK7VywSsLVZpLToSdqAoIEhJ5OxEQ/FmA3FlmbwwD6ou13gLa4VGIvsBHveCmKGjVu0Z++atIy76tZYU1SOWFWv4B0ZhnVz2ca2VZynvLgw3YNsPJH7rHO966GXgRkGYJAJ4UvLg3sj/iztVh2FSfbUj5IGO1e/JHJO63wAo1MSQtRjkutVgl/djnBLC6vbL4YHkM3Ynpkx/YQEcxwrmeY0Ra8D5yYDq4MNIDMmZahWC+k4u2eA2Cj2ifBFNxbZvTN75vLwRBp6DsTNHsiqkXrSPDBdNeet31RbwTQ6LtsK8jqmL4S/59dmLcj7uCU2WxyBLPbJdbdZWlqW2ZQvfQY8QVAYy7S3MiHQWQN0oP5wqXk89jcgR42ig/zsqFNPpXHM4mExR7l/gDLPg0j9c3XEF6sWtk3FmJN1i4+B+9kn09b6UKlV7EFPKp8XcFNrz4ZcE9/I8lKwsqLVG2jAXIk7Z9LwDRcAmK5eG348X5zwFtOY6raKIvRw2cn92bPnEI+55v8A4WANS2647GFTgxHj30D0d/sOZmJ5BS34zpdWTgE0AlKg7sOqkncjqoW5J5zCh5Ow7b3KXvEvlAts44mAag8tZTectxMP4iguXvTnv4= secure: jndR02p5KRTtcJk18b3YsXL2cC+yzEf1AOqXdpWciF8f3lO5oY01jlxd17xdHIcK7VywSsLVZpLToSdqAoIEhJ5OxEQ/FmA3FlmbwwD6ou13gLa4VGIvsBHveCmKGjVu0Z++atIy76tZYU1SOWFWv4B0ZhnVz2ca2VZynvLgw3YNsPJH7rHO966GXgRkGYJAJ4UvLg3sj/iztVh2FSfbUj5IGO1e/JHJO63wAo1MSQtRjkutVgl/djnBLC6vbL4YHkM3Ynpkx/YQEcxwrmeY0Ra8D5yYDq4MNIDMmZahWC+k4u2eA2Cj2ifBFNxbZvTN75vLwRBp6DsTNHsiqkXrSPDBdNeet31RbwTQ6LtsK8jqmL4S/59dmLcj7uCU2WxyBLPbJdbdZWlqW2ZQvfQY8QVAYy7S3MiHQWQN0oP5wqXk89jcgR42ig/zsqFNPpXHM4mExR7l/gDLPg0j9c3XEF6sWtk3FmJN1i4+B+9kn09b6UKlV7EFPKp8XcFNrz4ZcE9/I8lKwsqLVG2jAXIk7Z9LwDRcAmK5eG348X5zwFtOY6raKIvRw2cn92bPnEI+55v8A4WANS2647GFTgxHj30D0d/sOZmJ5BS34zpdWTgE0AlKg7sOqkncjqoW5J5zCh5Ow7b3KXvEvlAts44mAag8tZTectxMP4iguXvTnv4=
# Releases ページにアップロードするファイル # Releases ページにアップロードするファイル
file_glob: true
file: file:
- build/* - TheDesk.dmg
- TheDesk-darwin-x64.zip
skip_cleanup: true skip_cleanup: true
on: on:
repo: cutls/TheDesk repo: cutls/TheDesk
tags: true branches:
all_branches: true only:
- master

131
README.md
View File

@@ -1,55 +1,53 @@
<img src="https://thedesk.top/img/top.png" width="300" align="left">
<img src="https://thedesk.top/img/desk.png" width="150" align="right">
# TheDesk # TheDesk
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk) [![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
[![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ)
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk)
Mastodon/Misskey client for PC(Windows/Linux/macOS) Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md) オープンソースSNSマストドン/MisskeyのWindows/Linuxクライアント
Download:[TheDesk](https://thedesk.top)
Download:[TheDesk](https://thedesk.top) [![check](https://status.cutls.com/badge/?site=thedesk.top)](https://status.cutls.com) Contact me(bug report...):GitHub Issues, mention to [Cutls@kirishima.cloud](https://kirishima.cloud/@Cutls) or toot with #Desk
<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> バグレポートなど:GitHub Issuesや[Cutls@kirishima.cloud](https://kirishima.cloud/@Cutls)へのリプ,または#Deskでトゥートして下さい.
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
![Screenshots1](https://thedesk.top/img/scr1.png)
## License ### Contribute/コントリビュート
Please make a pull request to ***WIP(before CI)*** brunch
***WIP(before CI)*** ブランチにプルリクエストをお願いします。
## License/ライセンス
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE) [GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/) The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/)/アイコンは[クリエイティブ・コモンズ 表示-非営利-継承](https://creativecommons.org/licenses/by-nc-sa/4.0/)で提供されています。
[Press Kit](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip) [Press Kit](https://dl.thedesk.top/press/TheDesk+PressKit.zip)
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png) * [PNG](https://dl.thedesk.top/press/TheDesk.png)
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg) * [Monotone SVG](https://dl.thedesk.top/press/TheDesk.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico) * [ico](https://dl.thedesk.top/press/TheDesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns) * [icns](https://dl.thedesk.top/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/) The default sound of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
## Terms of Use ## Terms of Use/利用規約
* [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html) * [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html)
* [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html) * [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html)
## Language ## Language/言語
* 日本語(Japanese) * 日本語(Japanese)
* English * English(英語)
* de, cs, bg(from Crowdin)
### Translation ### Translation/翻訳
Crowdin project is available! Visit: https://translate.thedesk.top Crowdin project is available! Visit: https://translate.thedesk.top
## Requirement and development Crowdinから翻訳に参加してみませんか: https://translate.thedesk.top
* Electron 4.2 or above(install yourself) ## Requirement/環境
* Electron 3.0.10(install yourself)
* electron-dl(in package.json) * electron-dl(in package.json)
* Jimp(in package.json) * Jimp(in package.json)
* font-manager(in package.json) * font-manager(in package.json)
@@ -60,88 +58,55 @@ Crowdin project is available! Visit: https://translate.thedesk.top
* sumchecker(in package.json) * sumchecker(in package.json)
* Ability to read unformated files!(install yourself) * Ability to read unformated files!(install yourself)
### Run on developer mode ## Contributors/主なコントリビューター
`npm run dev` on `app` folder. macOSビルダー
## Contributors * [とねぢ](https://minohdon.jp/@toneji)
Build for macOS Linuxビルダー
* [toneji](https://minohdon.jp/@toneji) * [ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja)
Build for Linux iTunes NowPlayingにアルバムアートワークを付けてくれた人
* [popn_ja](https://popon.pptdn.jp/@popn_ja) * [kPherox](https://www.kr-kp.com/)
Fellow coder ## Build/ビルド
* [kPherox](https://pl.kpherox.dev/kPherox) Misskey(misskey.xyz) application token is not in cutls/TheDesk
Misskey(misskey.xyz)のトークンは含まれておりません。
## Build
You have to use either **npm** or **yarn**. Whichever you use, it works well.
### npm
```sh ```sh
git clone https://github.com/cutls/TheDesk git clone https://github.com/cutls/TheDesk
cd TheDesk/app cd TheDesk/app
npm install npm install
npm install --only=dev npm install --only=dev
npm run construct
``` ```
### yarn ### electron-builder(推奨)
Use npm scripts.
```sh npm scriptsを利用します
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
# Linux or macOS
yarn install --no-lockfile
# Windows
yarn install
yarn construct
```
run `npm run dev` or `yarn dev` to launch developer version with console(click `view`)
### electron-builder(Recommended)
Use scripts(they can work well with npm, **yarn**).
#### npm
```sh ```sh
# Build for current platform # Build for current platform
# 実行している環境向けにビルド
npm run build npm run build
# Select build target # Select build target
# ターゲットを指定してビルド
## Windows ## Windows
npm run build:win npm run build:win
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS) ## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
npm run build:all npm run build:all
``` ```
#### yarn
```sh
# Build for current platform
yarn build
# Select build target
## Windows
yarn build:win
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
yarn build:all
```
Config is all on package.json Config is all on package.json
ビルド設定はすべてpackage.jsonに記載しています。
### electron-packager ### electron-packager(非推奨)
`npm install --save-dev electron-rebuild` `npm install --save-dev electron-rebuild`
Linux/macOS Linux/macOS
@@ -150,8 +115,11 @@ Windows
`.\node_modules\.bin\electron-rebuild.cmd` `.\node_modules\.bin\electron-rebuild.cmd`
To install Python 2.x and Visual C++ for Windows, before running `npm install --save-dev electron-rebuild` To install Python 2.x and Visual C++ for Windows, before running `npm install --save-dev electron-rebuild`
WindowsでPython 2.xやVisualC++を一発でインストールできるツールもあります(`npm install --save-dev electron-rebuild`の前に)
`npm install --global windows-build-tools` `npm install --global windows-build-tools`
日本語話者向けですが、macOSビルドにはXCodeが要るとの情報があります。([とねぢ](https://minohdon.jp/@toneji)氏談)
Windows Windows
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite` `electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite`
Linux Linux
@@ -164,8 +132,9 @@ macOS
Did you find a bug with Pleroma accounts? Did you find a bug with Pleroma accounts?
Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so. Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so.
Please write issues to improve TheDesk affinity with Pleroma. Please write issues to improve TheDesk affinity with Pleroma.
Pleromaは、Mastodon APIとの互換性を謳っていますが、実際には様々な差異があり、TheDeskで不具合が発生することがあります。
Issuesに書いてある問題についてはなるべく対処しますので、ぜひお知らせください。
## Vulnerabilities when `npm i`??? ## See also/詳しく
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.
[TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk)

View File

@@ -1,173 +0,0 @@
<img src="https://thedesk.top/img/top.png" width="300" align="left">
<img src="https://thedesk.top/img/desk.png" width="150" align="right">
# TheDesk
[![Build Status](https://travis-ci.org/cutls/TheDesk.svg?branch=master)](https://travis-ci.org/cutls/TheDesk)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/thedesk/localized.svg)](https://translate.thedesk.top/project/thedesk)
[![FOSSA Status](https://bit.ly/2N4cLd1)](https://bit.ly/31zqMmZ)
[![Version](https://flat.badgen.net/github/release/cutls/TheDesk)](https://github.com/cutls/TheDesk/releases)
![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk)
Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント
Download:[TheDesk](https://thedesk.top) [![check](https://status.cutls.com/badge/?site=thedesk.top)](https://status.cutls.com)
[Pixiv FANBOX](https://www.pixiv.net/fanbox/creator/28105985)
![Screenshots1](https://thedesk.top/img/scr1.png)
## ライセンス
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
アイコンは[クリエイティブ・コモンズ 表示-非営利-継承](https://creativecommons.org/licenses/by-nc-sa/4.0/)で提供されています。
[プレスキット](https://d2upiril6ywqp9.cloudfront.net/press/TheDesk+PressKit.zip)
* [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/) で提供されています。
## 利用規約
* [利用規約](https://thedesk.top/tos.html)
* [プライバシーポリシー](https://thedesk.top/priv.html)
## 言語
* 日本語
* English(英語)
* ドイツ語, チェコ語, ブルガリア語(from Crowdin)
### 翻訳
Crowdinから翻訳に参加してみませんか: https://translate.thedesk.top
## 環境
* Electron 4.2以上(自分で入れて)
* electron-dl(in package.json)
* Jimp(in package.json)
* font-manager(in package.json)
* Python 2.x(自分で入れて)
* VisualC++(Windows)(自分で入れて)
* itunes-nowplaying-mac(macOS向け)(in package.json)
* node-notifier(in package.json)
* sumchecker(in package.json)
* Ability to read unformated files!(自分で入れて)
### デベロッパーモード
`npm run dev``app`フォルダ内で実行
## 主なコントリビューター
macOSビルダー
* [とねぢ](https://minohdon.jp/@toneji)
Linuxビルダー
* [ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja)
コーダー
* [kPherox](https://pl.kpherox.dev/kPherox)
## ビルド
npmでもyarnでも好きな方を選んでください。
### npm
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
npm install
npm install --only=dev
npm run construct
```
### yarn
```sh
git clone https://github.com/cutls/TheDesk
cd TheDesk/app
# Linux or macOS
yarn install --no-lockfile
# Windows
yarn install
yarn construct
```
### electron-builder(推奨)
scriptsを利用します
#### npm
```sh
# 実行している環境向けにビルド
npm run build
# ターゲットを指定してビルド
## Windows
npm run build:win
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
npm run build:all
```
#### yarn
```sh
# 実行している環境向けにビルド
yarn build
# ターゲットを指定してビルド
## Windows
yarn build:win
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
yarn build:all
```
ビルド設定はすべてpackage.jsonに記載しています。
### electron-packager(非推奨)
`npm install --save-dev electron-rebuild`
Linux/macOS
`./node_modules/.bin/electron-rebuild`
Windows
`.\node_modules\.bin\electron-rebuild.cmd`
WindowsでPython 2.xやVisualC++を一発でインストールできるツールもあります(`npm install --save-dev electron-rebuild`の前に)
`npm install --global windows-build-tools`
日本語話者向けですが、macOSビルドにはXCodeが要るとの情報があります。([とねぢ](https://minohdon.jp/@toneji)氏談)
Windows
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite`
Linux
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite`
macOS
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite`
## Pleromaのサポート
Pleromaは、Mastodon APIとの互換性を謳っていますが、実際には様々な差異があり、TheDeskで不具合が発生することがあります。
Issuesに書いてある問題についてはなるべく対処しますので、ぜひお知らせください。
## 詳しく
[TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk)
## `npm i`したら脆弱性あるって言われた
materialize-cssの脆弱性(CVE-2019-11002/3/4)については[こちら](https://github.com/Dogfalo/materialize/issues/6286)で本当に脆弱性かどうか議論しています。
実際には害が無いものと思われます。

View File

@@ -1,10 +1,9 @@
<!doctype html> <!doctype html>
<html lang="ja"> <html lang="ja">
<head> <head>
<title>TheDesk</title> <title>TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet"> <link href="./css/materialize.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='./css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="./css/themes.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/master.css" type="text/css" rel="stylesheet">
@@ -15,21 +14,16 @@
font-family:'Open Sans'; font-family:'Open Sans';
-webkit-app-region: drag; -webkit-app-region: drag;
cursor: move; cursor: move;
padding: 5px;
padding-top: 15px;
} }
a,button{
a,
button {
-webkit-app-region: no-drag; -webkit-app-region: no-drag;
} }
.container { .container {
width: 100%; width: 100%;
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
grid-template-areas: 'name1 data1''name2 data2''name3 data3''name4 data4''name5 data5''name6 data6'; grid-template-areas: 'name1 data1' 'name2 data2' 'name3 data3' 'name4 data4' 'name5 data5';
text-align:left; text-align:left;
margin:5px; margin:5px;
} }
@@ -73,63 +67,50 @@
.area-data5 { .area-data5 {
grid-area: data5; grid-area: data5;
} }
.area-name6 {
grid-area: name6;
}
.area-data6 {
grid-area: data6;
}
</style> </style>
</head> </head>
<body class="center " style="overflow:hidden"> <body class="center " style="overflow:hidden">
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script> <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/platform/first-not-view.js"></script>
<script type="text/javascript" src="./node_modules/materialize-css/dist/js/materialize.js"></script> <script type="text/javascript" src="./js/common/materialize.js"></script>
<img src="./img/desk.svg" style="max-width:62%;"> <img src="./img/desk.png" style="max-width:70%;">
<h5>TheDesk</h5> <h5>TheDesk</h5>
<div class="container"> <div class='container'>
<div class="area-name1">Display version</div> <div class='area-name1'>Display version</div>
<div class="area-data1" id="now"></div> <div class='area-data1' id="now"></div>
<div class="area-name2">Internal version</div> <div class='area-name2'>Internal version</div>
<div class="area-data2" id="ver"></div> <div class='area-data2' id="ver"></div>
<div class="area-name3">Commit(7chars)</div> <div class='area-name3'>Chromium</div>
<div class="area-data3" id="hash"></div> <div class='area-data3' id="chrome"></div>
<div class="area-name4">Chromium</div> <div class='area-name4'>Electron</div>
<div class="area-data4" id="chrome"></div> <div class='area-data4' id="electron"></div>
<div class="area-name5">Electron</div> <div class='area-name5'>Node.js</div>
<div class="area-data5" id="electron"></div> <div class='area-data5' id="node"></div>
<div class="area-name6">Node.js</div>
<div class="area-data6" id="node"></div>
</div> </div>
<div class="cp">Copyright &copy; TheDesk 2018<br> <div class="cp">Copyright &copy; <a href="https://kirishima.cloud/@Cutls" target="_blank">Cutls P</a> 2018 All rights reserved.<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" target="_blank">kPherox</a> and all users
Thanks:<a href="https://minohdon.jp/@toneji" target="_blank">toneji</a>/<a <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">
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">
<br><a href="https://thedesk.top" target="_blank">Web site</a></div> <br><a href="https://thedesk.top" target="_blank">Web site</a></div>
<button onclick="window.close()" class="btn waves-effect indigo" style="width:calc(100% - 10px);"><i <button onclick="window.close()" class="btn waves-effect indigo" style="width:calc(100% - 10px);"><i class="material-icons left">close</i>Close</button>
class="material-icons left">close</i>Close</button>
<script type="text/javascript" src="./js/ui/theme.js"></script> <script type="text/javascript" src="./js/ui/theme.js"></script>
<script> <script>
var about = JSON.parse(localStorage.getItem("about"));
$("#now").text(localStorage.getItem("ver")); $("#now").text(localStorage.getItem("ver"));
$("#node").text(about[0]); var electron = require("electron");
$("#chrome").text(about[1]); var remote=electron.remote;
$("#electron").text(about[2]); const shell=electron.shell;
//JSON.parse(fs.readFileSync(info_path, 'utf8'));
console.log(process.versions);
$("#node").text(process.version);
$("#chrome").text(process.versions.chrome);
$("#electron").text(process.versions.electron);
if(location.search){ if(location.search){
var m = location.search.match(/\?ver=([a-zA-Z-0-9.]+)/); var m = location.search.match(/\?ver=([a-zA-Z-0-9.]+)/);
var ver=m[1]; var ver=m[1];
$("#ver").text(ver); $("#ver").text(ver);
} }
$("#hash").html('<a href="https://github.com/cutls/TheDesk/commits/' + about[3] + '" target="_blank">' + about[3].slice(0, 7) + '</a>');
$(document).on('click', 'a', e => { $(document).on('click', 'a', e => {
var url = $(e.target).attr('href'); var url = $(e.target).attr('href');
postMessage(["openUrl", url], "*") shell.openExternal(url);
return false; return false;
}); });
</script> </script>

260
app/adobe.html Normal file
View File

@@ -0,0 +1,260 @@
<!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() {
//console.log(this);
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>

View File

@@ -1,112 +0,0 @@
const builder = require("electron-builder");
const fs = require('fs');
const os = process.platform;
const Platform = builder.Platform
const Arch = builder.Arch
const targets = new Map();
const archToType = new Map();
const pref = {
productName: "TheDesk",
appId: "top.thedesk",
asarUnpack: [
"node_modules/itunes-nowplaying-mac"
],
directories: {
output: "../build/"
},
win: {
icon: "build/thedesk.ico",
target: [
"nsis",
"portable",
"appx"
]
},
appx: {
identityName: "53491Cutls.TheDesk",
applicationId: "Cutls.TheDesk",
publisherDisplayName: "Cutls",
publisher: "CN=629757F5-A5EE-474F-9562-B304A89A9FD1",
languages: [
"JA-JP",
"EN-US"
]
},
nsis: {
oneClick: false,
allowToChangeInstallationDirectory: true
},
linux: {
icon: "build/icons",
target: [
"zip",
"snap"
],
category: "Network"
},
mac: {
target: [
"dmg",
"zip"
]
},
electronDownload: {
version: "5.0.1"
},
electronVersion: "5.0.1"
}
const json = JSON.parse(fs.readFileSync("package.json", 'utf8'));
const version = json.version;
if (os == "win32") {
archToType.set(Arch.ia32, []);
targets.set(Platform.WINDOWS, archToType);
} else if (os == "linux") {
archToType.set(Arch.x64, []);
archToType.set(Arch.ia32, []);
targets.set(Platform.LINUX, archToType);
} else if (os == "darwin") {
archToType.set(Arch.x64, []);
targets.set(Platform.MAC, archToType);
} else {
return false
}
builder.build({
targets: targets,
config: pref
})
.then(() => {
console.log("Done on "+os)
if (os == "win32") {
console.log("Windows")
fs.renameSync('../build/TheDesk ' + version + '.exe', '../build/TheDesk-ia32.exe');
fs.renameSync('../build/TheDesk Setup ' + version + '.exe', '../build/TheDesk-setup-ia32.exe');
retry()
}else if (os == "linux") {
console.log("Linux")
fs.renameSync('../build/thedesk-' + version + '.zip', '../build/TheDesk.zip');
fs.renameSync('../build/TheDesk Setup ' + version + '.exe', '../build/TheDesk-setup-ia32.exe');
}
})
.catch((error) => {
// handle error
})
function retry(){
console.log("Windows x64")
const targetsAlt = new Map();
const archToTypeAlt = new Map();
targetsAlt.set(Platform.WINDOWS, archToTypeAlt);
archToTypeAlt.set(Arch.x64, []);
builder.build({
targets: targetsAlt,
config: pref
})
.then(() => {
fs.renameSync('../build/TheDesk Setup ' + version + '.exe', '../build/TheDesk-setup.exe');
fs.renameSync('../build/TheDesk ' + version + '.exe', '../build/TheDesk.exe');
})
.catch((error) => {
// handle error
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -1,4 +1,2 @@
/*このソフトについてを押した時に読み込まれます*/ /*このソフトについてを押した時に読み込まれます*/
body { body{font-family:Open Sans;}
font-family: Open Sans;
}

View File

@@ -5,15 +5,9 @@
/* FONT PATH /* FONT PATH
* -------------------------- */ * -------------------------- */
@font-face { @font-face {
font-family: "FontAwesome"; font-family: 'FontAwesome';
src: url("../fonts/fontawesome-webfont.eot?v=4.7.0"); src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
format("embedded-opentype"),
url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),
url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),
url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),
url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular")
format("svg");
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@@ -66,9 +60,9 @@
left: -1.85714286em; left: -1.85714286em;
} }
.fa-border { .fa-border {
padding: 0.2em 0.25em 0.15em; padding: .2em .25em .15em;
border: solid 0.08em #eeeeee; border: solid 0.08em #eeeeee;
border-radius: 0.1em; border-radius: .1em;
} }
.fa-pull-left { .fa-pull-left {
float: left; float: left;
@@ -77,10 +71,10 @@
float: right; float: right;
} }
.fa.fa-pull-left { .fa.fa-pull-left {
margin-right: 0.3em; margin-right: .3em;
} }
.fa.fa-pull-right { .fa.fa-pull-right {
margin-left: 0.3em; margin-left: .3em;
} }
/* Deprecated as of 4.4.0 */ /* Deprecated as of 4.4.0 */
.pull-right { .pull-right {
@@ -90,10 +84,10 @@
float: left; float: left;
} }
.fa.pull-left { .fa.pull-left {
margin-right: 0.3em; margin-right: .3em;
} }
.fa.pull-right { .fa.pull-right {
margin-left: 0.3em; margin-left: .3em;
} }
.fa-spin { .fa-spin {
-webkit-animation: fa-spin 2s infinite linear; -webkit-animation: fa-spin 2s infinite linear;

View File

@@ -1,14 +1,17 @@
/*共通CSS*/ /*共通CSS*/
html, html,body{
body {
/*transform: translate3d(0,0,0);*/ /*transform: translate3d(0,0,0);*/
overflow:hidden; overflow:hidden;
user-select: none; user-select: none;
cursor:default; cursor:default;
font-size:13px; font-size:13px;
height: 100vh; height: 100vh;
background-color: var(--bg);
color: var(--color); color: var(--color);
} }
body{
border: thin solid gray;
}
.btn { .btn {
margin: 5px; margin: 5px;
text-transform: none; text-transform: none;
@@ -39,17 +42,14 @@ option {
color: white; color: white;
z-index: 9999; z-index: 9999;
} }
#imagemodal, #imagemodal, #videomodal {
#videomodal {
display: none; display: none;
max-width: 100vw; max-width: 100vw;
max-height: 100vh; max-height: 100vh;
position: fixed; position: fixed;
z-index: 9; z-index: 9;
top: 0 !important;
} }
#videomodal, #videomodal, #tootmodal {
#tootmodal {
background-color: var(--modal); background-color: var(--modal);
} }
#imagemodal .modal-content { #imagemodal .modal-content {
@@ -72,12 +72,7 @@ option {
min-width: 0 !important; min-width: 0 !important;
margin-left: 5px !important; margin-left: 5px !important;
} }
.unvisible { .bbcode-pulse-loadings, .bbcode-pulse-loading, .fa-pulse {
opacity: 0;
}
.bbcode-pulse-loadings,
.bbcode-pulse-loading,
.fa-pulse {
display: inline-block; display: inline-block;
animation-duration: 3s; animation-duration: 3s;
animation-fill-mode: both; animation-fill-mode: both;
@@ -85,13 +80,10 @@ option {
animation-name: pulse; animation-name: pulse;
} }
@keyframes pulse { @keyframes pulse {
from, from, 50%, to {
50%,
to {
opacity: 1; opacity: 1;
} }
25%, 25%, 75% {
75% {
opacity: 0; opacity: 0;
} }
} }
@@ -127,8 +119,7 @@ option {
animation-iteration-count: infinite; animation-iteration-count: infinite;
animation-name: shake; animation-name: shake;
} }
code:before, code:before, .pre:before {
.pre:before {
content: "Code"; content: "Code";
font-size: 1.8rem; font-size: 1.8rem;
line-height: 1em; line-height: 1em;
@@ -138,8 +129,7 @@ code:before,
right: 0; right: 0;
top: 0; top: 0;
} }
code, code, pre {
pre {
color: white; color: white;
display: block; display: block;
border-left: 5px solid; border-left: 5px solid;
@@ -155,12 +145,10 @@ pre {
border-bottom-right-radius: 10px; border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px; border-bottom-left-radius: 10px;
} }
blockquote, blockquote, .quote p {
.quote p {
margin: 0; margin: 0;
} }
blockquote, blockquote, .quote {
.quote {
color: black; color: black;
background-color: #ddd; background-color: #ddd;
padding: 1em 1em 1em; padding: 1em 1em 1em;
@@ -169,8 +157,7 @@ blockquote,
border-bottom-right-radius: 10px; border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px; border-bottom-left-radius: 10px;
} }
blockquote:before, blockquote:before, .quote:before {
.quote:before {
content: "Quote"; content: "Quote";
font-size: 1.8rem; font-size: 1.8rem;
line-height: 1em; line-height: 1em;
@@ -220,17 +207,6 @@ blockquote:before,
right: 0; right: 0;
top: 0; top: 0;
} }
#start {
display: none;
position: fixed;
width: 100vw;
height: calc(100vh - 40px);
background-color: var(--bg);
color: var(--color);
z-index: 99999;
justify-content: center;
align-items: center;
}
#drag { #drag {
display: none; display: none;
position: fixed; position: fixed;
@@ -245,6 +221,9 @@ blockquote:before,
#drag-content { #drag-content {
font-size: 2rem; font-size: 2rem;
} }
.radio{
font-family:'Baloo Bhai'
}
#pip{ #pip{
z-index:504; z-index:504;
width:418px; width:418px;
@@ -273,7 +252,7 @@ blockquote:before,
background-color: var(--modal); background-color: var(--modal);
} }
#releasenote li{ #releasenote li{
list-style-type: disc; list-style-type: disc
} }
@media only screen and (min-width: 993px){ @media only screen and (min-width: 993px){
#toast-container { #toast-container {
@@ -307,13 +286,9 @@ blockquote:before,
opacity: 0; opacity: 0;
} }
} }
.collapsible-header, .collapsible-header,.tabs{
.tabs {
background-color: var(--subcolor); background-color: var(--subcolor);
} }
.collapsible-header:focus {
background-color: var(--subcolor) !important;
}
.modal-footer{ .modal-footer{
background-color: var(--modalfooter) !important; background-color: var(--modalfooter) !important;
} }
@@ -336,23 +311,20 @@ blockquote:before,
#menu{ #menu{
position:fixed; position:fixed;
z-index:9999; z-index:9999;
background-color: var(--postbox); background-color: var(--box);
width:540px; width:540px;
top:calc(50% - 150px); top:calc(50% - 150px);
left:calc(50% - 250px); left:calc(50% - 250px);
padding: 5px; padding: 5px;
border: thin solid gray; border: thin solid gray;
border-radius:5px; border-radius:5px;
overflow: hidden;
} }
#menu-wrapper{ #menu-wrapper{
margin-left:-5px; margin-left:-5px;
display:flex; display:flex;
height: calc(100% - 3.5rem);
overflow: hidden;
} }
#left-menu{ #left-menu{
width: 230px; width:170px;
} }
#left-menu div{ #left-menu div{
padding-left:5px; padding-left:5px;
@@ -372,7 +344,8 @@ blockquote:before,
background-color: var(--emphasized); background-color: var(--emphasized);
} }
#right-menu{ #right-menu{
width: 100%; width:380px;
max-height:375px;
overflow-y:scroll; overflow-y:scroll;
overflow-x:hidden; overflow-x:hidden;
padding:5px; padding:5px;
@@ -380,6 +353,7 @@ blockquote:before,
#tltype{ #tltype{
display:flex; display:flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
#tltype .type{ #tltype .type{
display:flex; display:flex;
@@ -389,9 +363,6 @@ blockquote:before,
height:40px; height:40px;
cursor:pointer; cursor:pointer;
} }
#tltype .type span {
width: calc(100% - 30px);
}
#tltype .type:hover { #tltype .type:hover {
background-color: var(--beforehover); background-color: var(--beforehover);
} }
@@ -403,19 +374,17 @@ blockquote:before,
} }
#tltype i.sub-icon{ #tltype i.sub-icon{
font-size: 20px; font-size: 20px;
position: absolute; position: relative;
color: var(--beforehover); color: var(--beforehover);
left: 10px; left: -15px;
bottom: 5px;
background-color: #fff;
} }
.drag-bar{ .drag-bar{
cursor:move; cursor:move;
text-align:center; text-align:center;
width:calc(100% + 10px); width:calc(100% + 10px);
border-radius: 5px; border-radius: 5px;
background-color: var(--box); background-color: var(--bg);
filter: brightness(80%);
margin-left:-5px; margin-left:-5px;
margin-right:-5px; margin-right:-5px;
margin-top:-5px; margin-top:-5px;
@@ -423,63 +392,7 @@ blockquote:before,
padding:4px; padding:4px;
} }
#something-wrong{ #something-wrong{
flex-direction: column; width:100%; height:100%; position:absolute; display:flex; justify-content: center; align-items:center
width: 100%;
height: 100%;
position: absolute;
display: flex;
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;
}
#src-contents svg {
margin-right: 5px;
}
.contributor {
cursor: pointer;
}
.contributor img {
width: 1rem;
} }
/*スクロールバー*/ /*スクロールバー*/
@@ -499,37 +412,3 @@ textarea {
background: #607d8b; background: #607d8b;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); -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;
}

9411
app/css/materialize.css vendored Normal file

File diff suppressed because it is too large Load Diff

16
app/css/materialize.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -7,17 +7,10 @@
background-color: var(--postbox); background-color: var(--postbox);
border: thin solid gray; border: thin solid gray;
z-index: 501; z-index: 501;
min-width:300px;
max-width:100%; max-width:100%;
padding: 5px; padding: 5px;
border-radius:5px; border-radius:5px;
overflow: hidden;
}
textarea {
min-height: 100px !important;
font-family: inherit;
}
#post-box .ui-resizable-s, #post-box .ui-resizable-se{
display: none !important;
} }
.cancel { .cancel {
@@ -27,6 +20,7 @@ textarea {
position: absolute; position: absolute;
right: 2px; right: 2px;
top:4px; top:4px;
} }
.more-show { .more-show {
display: none; display: none;
@@ -50,9 +44,7 @@ textarea {
#sch-box input { #sch-box input {
width:auto; width:auto;
} }
.picker__close, .picker__close, .picker__today, .picker__clear {
.picker__today,
.picker__clear {
color: #26a69a !important; color: #26a69a !important;
} }
.cw { .cw {
@@ -62,6 +54,7 @@ textarea {
filter: blur(50px); filter: blur(50px);
} }
#emoji { #emoji {
} }
#suggest{ #suggest{
max-height:300px; max-height:300px;
@@ -85,7 +78,7 @@ textarea {
max-height:100px; max-height:100px;
} }
#default-emoji a{ #default-emoji a{
color: var(--color); color:white;
margin-right:2px; margin-right:2px;
} }
.character-counter{ .character-counter{
@@ -100,31 +93,31 @@ textarea {
display:flex; display:flex;
} }
#toot-post-btn{ #toot-post-btn{
width: calc(100% - 10px); width:calc(100% - 10px); padding:0; margin-top:10px;
padding: 0;
margin-top: 10px;
} }
#toot-sec-btn{ #toot-sec-btn{
width: 30px; width:30px; padding:0; margin-top:10px;
padding: 0;
margin-top: 10px;
} }
#left-side{ #left-side{
float:left; float:left;
overflow-x: hidden; width:300px;
height: calc(100% - 32px);
} }
#right-side{ #right-side{
display:none; display:none;
float:left; float:left;
width:300px; width:300px;
padding:5px; padding:5px;
overflow-x: hidden;
height: calc(100% - 32px);
} }
#posttgl,#toot-post-btn { #poll{
background-color: var(--accentbtn);
} }
.poll-provider{
position: absolute;
height: calc(100% - 90px);
overflow-y: scroll;
top: 90px;
}
/*mini*/ /*mini*/
.mini-post .mize{ .mini-post .mize{
display:none !important; display:none !important;

View File

@@ -1,3 +1,4 @@
.drag-content{ .drag-content{
text-overflow: ellipsis; text-overflow: ellipsis;
cursor:move; cursor:move;
@@ -9,7 +10,7 @@
padding:3px; padding:3px;
display:grid; display:grid;
grid-template-columns: 43px 1fr 60px; grid-template-columns: 43px 1fr 60px;
grid-template-areas: "sorticon sorttitle sorttitle" "sorticon sortacct sortaction"; grid-template-areas: 'sorticon sorttitle sorttitle' 'sorticon sortacct sortaction';
} }
.sorticon { .sorticon {
grid-area:sorticon; grid-area:sorticon;

View File

@@ -14,10 +14,6 @@
--active:#e6ee9c; --active:#e6ee9c;
--postbox:white; --postbox:white;
--modalfooter:#fafafa; --modalfooter:#fafafa;
--accentbtn: #009688;
--selected: #c0c0c0;
--selectedWithShare: #b2babd;
--gray: #757575;
} }
#imagemodal{ #imagemodal{
background: url("../img/pixel.white.svg"); background: url("../img/pixel.white.svg");
@@ -38,10 +34,6 @@
--active:#757575; --active:#757575;
--postbox:#424242; --postbox:#424242;
--modalfooter:#212121; --modalfooter:#212121;
--accentbtn: #3f51b5;
--selected: #3f3f3f;
--selectedWithShare: #003a30;
--gray: #cccccc;
} }
.blacktheme #imagemodal{ .blacktheme #imagemodal{
background: url("../img/pixel.svg"); background: url("../img/pixel.svg");
@@ -62,10 +54,6 @@
--active:#757575; --active:#757575;
--postbox:#1a237e; --postbox:#1a237e;
--modalfooter:#031833; --modalfooter:#031833;
--accentbtn: #00acc1;
--selected: #214f8a;
--selectedWithShare: #003a30;
--gray: #cccccc ;
} }
.indigotheme #imagemodal{ .indigotheme #imagemodal{
background: url("../img/pixel.svg"); background: url("../img/pixel.svg");
@@ -86,10 +74,6 @@
--active:#757575; --active:#757575;
--postbox:#4e342e; --postbox:#4e342e;
--modalfooter:#261411; --modalfooter:#261411;
--accentbtn: #827717;
--selected: #6d352b;
--selectedWithShare: #003a30;
--gray: #cccccc;
} }
.browntheme #imagemodal{ .browntheme #imagemodal{
background: url("../img/pixel.svg"); background: url("../img/pixel.svg");
@@ -102,7 +86,7 @@
--modal:#81c784; --modal:#81c784;
--subcolor:#a5d6a7; --subcolor:#a5d6a7;
--box:#81c784; --box:#81c784;
--sidebar: #c5e1a5; --sidebar:#81c784;
--shared:#ffcc80; --shared:#ffcc80;
--notfbox:#a5d6a7; --notfbox:#a5d6a7;
--emphasized:#9e9d24; --emphasized:#9e9d24;
@@ -110,35 +94,7 @@
--active:#e6ee9c; --active:#e6ee9c;
--postbox:#a5d6a7; --postbox:#a5d6a7;
--modalfooter:#81c784; --modalfooter:#81c784;
--accentbtn: #33691e;
--selected: #78c17a;
--selectedWithShare: #caa266;
--gray: #757575;
} }
.greentheme #imagemodal{ .greentheme #imagemodal{
background: url("../img/pixel.white.svg"); 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");
}

View File

@@ -1,13 +1,14 @@
/*TL CSS(ただしBBCode pulse:master.css/spin:font-awesome*/ /*TL CSS(ただしBBCode pulse:master.css/spin:font-awesome*/
#main{ #main{
display:flex;
width:100vw; width:100vw;
height: calc(100vh - 40px);
} }
#timeline-container { #timeline-container {
overflow-x: scroll; overflow-x: scroll;
overflow-y: hidden; overflow-y: hidden;
display: flex; display: flex;
height: 100%; height: calc(100vh - 40px);
flex-grow:4;
} }
#bottom{ #bottom{
position:absolute; position:absolute;
@@ -24,10 +25,6 @@
z-index:500; z-index:500;
box-shadow: 10px 0 10px 10px rgba(0, 0, 0, 0.2); box-shadow: 10px 0 10px 10px rgba(0, 0, 0, 0.2);
} }
#demobottom {
width: 500px;
display: flex;
}
#bottom.reverse{ #bottom.reverse{
padding-left:0; padding-left:0;
padding-right:40px; padding-right:40px;
@@ -45,22 +42,16 @@
#bottom .trendtag{ #bottom .trendtag{
height:40px; height:40px;
} }
#bottom #group, #bottom #group{
#demogroup {
margin-right:40px; margin-right:40px;
} }
#bottom .leftside{ #bottom .leftside{
display:flex; display:flex;
} }
#tips {
display: flex;
align-items: center;
}
#bottom #tips img{ #bottom #tips img{
vertical-align: -3px; vertical-align: -3px;
} }
#bottom a, #bottom a{
#demogroup a {
color:var(--color); color:var(--color);
} }
#bottom i{ #bottom i{
@@ -72,9 +63,9 @@
.exc-chb{ .exc-chb{
padding-left:24px !important; padding-left:24px !important;
} }
.btnsgroup { #bottom .btnsgroup{
border:1px solid; border:1px solid;
padding-top: 1px; padding:1px;
padding-left:5px; padding-left:5px;
padding-right:5px; padding-right:5px;
margin-right:15px; margin-right:15px;
@@ -96,18 +87,11 @@
font-size:15px; font-size:15px;
} }
@media screen and (max-width: 890px) { @media screen and (max-width: 890px) {
.btnsgroup .grouptitle { .btnsgroup .grouptitle{ display: none; }
display: none; #tips,#tips-menu{ display: none; }
} }
#tips, iframe {
#tips-menu {
display: none;
}
}
iframe,
.cvo video {
max-width:100%; max-width:100%;
max-height: 300px;
} }
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
.mobile #timeline-container { .mobile #timeline-container {
@@ -136,72 +120,34 @@ iframe,
.bbcode_FTL{ .bbcode_FTL{
display:none; display:none;
} }
.marquee {
width: 100%;
padding: 0.5em 0;
overflow: hidden;
margin-bottom: 0;
position: relative;
}
.marquee .bbcode-marq-lateral {
margin: 0;
padding-left: 100%;
display: inline-block;
white-space: nowrap;
animation-name: marquee;
animation-timing-function: linear;
animation-duration: 10s;
animation-iteration-count: infinite;
}
@keyframes marquee {
0% {
-webkit-transform: translate(0);
transform: translate(0);
}
99%,
100% {
-webkit-transform: translate(-100%);
transform: translate(-100%);
}
}
.boxIn{ .boxIn{
display: flex;
flex-direction: column;
height:100%; height:100%;
border: thin solid gray; border: thin solid gray;
overflow: hidden; overflow: hidden;
border-top: none;
} }
.box .pin, .box .pin,#his-data .pin{
#his-data .pin {
display:none; display:none;
} }
.user{ .user{
cursor:text; cursor:text;
font-size:1.1rem; font-size:1.1rem;
} }
.emoji, .emoji,.emoji-img{
.emoji-img {
width: 15px; width: 15px;
} }
.area-toot .emoji, .area-toot .emoji,.area-toot .emoji-img{
.area-toot .emoji-img {
width: 20px; width: 20px;
vertical-align: middle; vertical-align: middle;
margin: -1px 0; margin: -3px 0 0;
}
.bigemoji {
width: 60px !important;
} }
.faicon_FTL{ .faicon_FTL{
display:none; display:none;
} }
.tl-box{ .tl-box{
position:relative; position:relative;
flex: 1; height:calc(100% - 40px);
overflow-y:scroll; overflow-y:scroll;
overflow-x: hidden; overflow-x:hidden }
}
.additional { .additional {
overflow-x: scroll; overflow-x: scroll;
width: 100%; width: 100%;
@@ -224,15 +170,9 @@ iframe,
width: 100%; width: 100%;
display: grid; display: grid;
grid-template-columns: 43px 2fr 1fr; grid-template-columns: 43px 2fr 1fr;
grid-template-rows: auto 1.6rem 1fr auto 2.5rem; grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'icon toot toot' 'vis additional additional' 'actions actions side';
grid-template-areas: "notice notice notice" "icon display_name display_name" "space toot toot" "space additional additional" "vis actions side";
} }
.cvo h1, .cvo h1,.cvo h2,.cvo h3,.cvo h4,.cvo h5,.cvo h6{
.cvo h2,
.cvo h3,
.cvo h4,
.cvo h5,
.cvo h6 {
margin:0; margin:0;
} }
@@ -259,7 +199,7 @@ iframe,
display:flex; display:flex;
justify-content:space-between; justify-content:space-between;
width:100%; width:100%;
flex-wrap: nowrap; flex-wrap:nowrap
} }
.flex-name{ .flex-name{
max-width:calc(100% - 60px); max-width:calc(100% - 60px);
@@ -270,8 +210,7 @@ iframe,
.area-toot { .area-toot {
cursor:text; cursor:text;
user-select: auto; user-select: auto;
margin-top: 5px; margin:2px;
margin-bottom: 5px;
margin-left:5px; margin-left:5px;
grid-area: toot; grid-area: toot;
} }
@@ -289,49 +228,32 @@ iframe,
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.acct-note p {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.area-toot.acct-note p:not(:first-child) {
display: none;
}
.area-toot.acct-note p:first-child:after {
content: "...";
color: var(--gray);
}
.area-actions { .area-actions {
padding:0; padding:0;
margin:0; margin:0;
top: -5px; top:-20px;
position: relative;
display:flex; display:flex;
justify-content:space-around; justify-content:space-around;
width:250px;
max-width:100%; max-width:100%;
grid-area: actions; grid-area: actions;
} }
.area-vis { .area-vis {
margin:2px; margin:2px;
grid-area: vis; grid-area: vis;
text-align: center;
} }
.area-side { .area-side {
display:flex; display:flex;
top: -5px;
position: relative;
justify-content:flex-end; justify-content:flex-end;
margin:2px; margin:2px;
grid-area: side; grid-area: side;
} }
.quote-inline {
display: none;
}
.quote-renote{ .quote-renote{
display: grid; display: grid;
grid-template-columns: 43px 2fr 25px; grid-template-columns: 43px 2fr 1fr;
grid-template-areas: "ricon ruser rdet" "ricon rtext rdet"; grid-template-areas: 'ricon ruser' 'ricon rtext';
border: 1px solid; border: 1px solid;
margin-top: 3px; margin-top: 3px;
padding: 1px; padding: 1px;
@@ -339,13 +261,9 @@ iframe,
} }
.renote-icon{ .renote-icon{
grid-area: ricon; grid-area: ricon;
padding: 5px;
}
.renote-details {
grid-area: rdet;
} }
.renote-icon img{ .renote-icon img{
width: 100%; width:43px;
} }
.renote-user{ .renote-user{
grid-area: ruser; grid-area: ruser;
@@ -379,7 +297,7 @@ iframe,
} }
.gray { .gray {
color: var(--gray); color: gray;
} }
.sml { .sml {
font-size: 0.8em; font-size: 0.8em;
@@ -390,6 +308,7 @@ iframe,
.toot-img { .toot-img {
object-fit: cover; object-fit: cover;
width: 100%; width: 100%;
margin-right:1px;
} }
.toot img:not(.emoji-img) { .toot img:not(.emoji-img) {
max-width: 100%; max-width: 100%;
@@ -413,7 +332,6 @@ iframe,
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
height:calc(0.8em + 8px); height:calc(0.8em + 8px);
user-select: none;
} }
.cbadge-hover { .cbadge-hover {
color: var(--color); color: var(--color);
@@ -426,7 +344,6 @@ iframe,
p { p {
margin: 0; margin: 0;
margin-bottom: 0px; margin-bottom: 0px;
line-height: 20px;
} }
p:not(:last-child){ p:not(:last-child){
margin-bottom: 10px; margin-bottom: 10px;
@@ -451,9 +368,9 @@ p:not(:last-child) {
z-index:500; z-index:500;
padding:5px; padding:5px;
display: grid; display: grid;
grid-template-columns: 40px 1fr 1fr 24px; grid-template-columns: 40px 48px 1fr 24px;
grid-template-rows: 30px 30px; grid-template-rows: 30px 30px;
grid-template-areas: "notice notice_name notice_name a2" "notice a1 sta a3" "notf-box notf-box notf-box notf-box"; grid-template-areas: 'notice notice_name notice_name a2' 'notice a1 sta a3' 'notf-box notf-box notf-box notf-box';
} }
.emp{ .emp{
font-weight: bold; font-weight: bold;
@@ -466,9 +383,6 @@ p:not(:last-child) {
.area-notice_name { .area-notice_name {
grid-area: notice_name; grid-area: notice_name;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
.area-notice_acct { .area-notice_acct {
@@ -476,6 +390,7 @@ p:not(:last-child) {
} }
.area-a1 { .area-a1 {
text-align: center;
grid-area: a1; grid-area: a1;
} }
.area-sta { .area-sta {
@@ -541,9 +456,12 @@ p:not(:last-child) {
border: thin solid gray; border: thin solid gray;
border-bottom: 2px solid white; border-bottom: 2px solid white;
grid-area: notf-box; grid-area: notf-box;
box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3), 0px -10px 10px 0px rgba(0,0,0,0.3) inset;
0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3), }
0px -10px 10px 0px rgba(0, 0, 0, 0.3) inset; #src-contents {
min-height: 100px;
max-height: 190px;
overflow-y: scroll;
} }
.type-b{ .type-b{
display:none; display:none;
@@ -561,7 +479,7 @@ p:not(:last-child) {
content:"..."; content:"...";
} }
.toot a:not(.mention) span:last-of-type{ .toot a:not(.mention) span:last-of-type{
/*display: none;*/ display:none;
} }
.tl-box .via-hide{ .tl-box .via-hide{
display:none; display:none;
@@ -575,19 +493,19 @@ p:not(:last-child) {
} }
.fa-2x>.emoji-img { .fa-2x>.emoji-img {
width: 36px!important; width: 36px!important;
height: 36px !important; height: 36px!important
} }
.fa-3x>.emoji-img { .fa-3x>.emoji-img {
width: 54px!important; width: 54px!important;
height: 54px !important; height: 54px!important
} }
.fa-4x>.emoji-img { .fa-4x>.emoji-img {
width: 72px!important; width: 72px!important;
height: 72px !important; height: 72px!important
} }
.fa-5x>.emoji-img { .fa-5x>.emoji-img {
width: 90px!important; width: 90px!important;
height: 90px !important; height: 90px!important
} }
#lists-user{ #lists-user{
overflow-y: scroll; overflow-y: scroll;
@@ -611,53 +529,7 @@ p:not(:last-child) {
background-color:var(--color); background-color:var(--color);
} }
.jump{ .jump{
display: inline-block; display: inline-block; animation: jump 0.75s linear infinite;
animation: jump 0.75s linear infinite;
}
.img-link {
position: relative;
display: block;
margin-right: 1px;
float: left;
overflow: hidden;
}
.nsfw-media {
position: absolute;
top: 0;
right: 0;
background-color: black;
color: white;
}
.img-link img {
display: block;
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;
user-select: none;
} }
@keyframes jump { @keyframes jump {
0% { 0% {
@@ -703,29 +575,12 @@ audio {
} }
} }
.box-anime { .box-anime {
/*animation-duration: 1s; animation-duration: 1s;
animation-name: fadeInLeft;*/ animation-name: fadeInLeft;
} }
.cvo-anime { .cvo-anime {
animation-duration: 0.1s; animation-duration: 0.1s;
animation-name: fadeInDown; animation-name: fadeInDown;
} }
.urbadge {
line-height: normal;
height: 2rem;
font-size: 1rem;
background-color: #009688;
}
.box .ui-resizable-s {
display: none !important;
}
.boxIn .ui-resizable-e {
display: none !important;
}
.boxIn .ui-resizable-s {
display: block !important;
}
.box .ui-resizable-se {
display: none !important;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,9 @@
/*アイコンをクリックした時とかにでてくるユーザーデータ*/ /*アイコンをクリックした時とかにでてくるユーザーデータ*/
#his-data { #his-data {
background-repeat: no-repeat; background-repeat: no-repeat;
background-image: url("../../loading.svg"); background-image: url('../../loading.svg');
overflow-y: hidden; overflow-y: hidden;
} }
#his-data-content {
display: flex;
justify-content: center;
}
#his-name{ #his-name{
font-size:1.5rem; font-size:1.5rem;
} }
@@ -17,17 +13,16 @@
margin-right:5px; margin-right:5px;
} }
.his-float { .his-float {
float: left;
overflow-y: scroll; overflow-y: scroll;
padding: 5px; padding: 5px;
} }
#his-float-data{ #his-float-data{
width: 400px;
height: 100%; height: 100%;
} }
#his-leftside {
width: 500px;
}
#his-float-timeline{ #his-float-timeline{
max-width: 775px; width: calc(100% - 400px);
height:100%; height:100%;
overflow-y:hidden; overflow-y:hidden;
} }
@@ -47,18 +42,13 @@
height:1.5rem; height:1.5rem;
} }
.his-field-title{ .his-field-title{
height: 1.5rem; height:1.5rem; padding:0; background-color:#757575; text-align:center;
padding: 0;
background-color: #757575;
text-align: center;
padding:5px; padding:5px;
margin-bottom:1px; margin-bottom:1px;
width:30%; width:30%;
} }
.his-field-content{ .his-field-content{
height: 1.5rem; height:1.5rem; padding:0; padding-left:5px;
padding: 0;
padding-left: 5px;
} }
#his-data a span.ellipsis:after{ #his-data a span.ellipsis:after{
content:"..."; content:"...";
@@ -66,45 +56,35 @@
#his-data a:not(.mention) span:last-of-type{ #his-data a:not(.mention) span:last-of-type{
display:none; display:none;
} }
#his-data a .rep_ct,
#his-data a .rt_ct,
#his-data a .fav_ct {
display: inline !important;
}
#his-data-show { #his-data-show {
margin: 20px; margin: 20px;
margin-left: 50px;
margin-right: 50px;
background-color:var(--his-data); background-color:var(--his-data);
width: calc(100% - 20px);
height: calc(100% - 20px); height: calc(100% - 20px);
margin-bottom: 0; margin-bottom: 0;
padding: 5px; padding: 5px;
} }
#his-data-wrap { .tab-content {
display: flex;
}
.his-var-content {
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
height: calc(100% - 45px); height: calc(100% - 240px)
} }
#my-data-nav .btn { .my-data-width {
width: 140px; width: 10%;
} }
.active-back{ .active-back{
background-color: var(--active); background-color: var(--active);
} }
#his-name .emojione, #his-name .emojione,#his-name .emoji-img{
#his-name .emoji-img {
width: 20px; width: 20px;
} }
#his-plus-action .btn{ #his-plus-action .btn{
width: 170px; width:170px
} }
.tabs { .custom-tabs{
display:flex; display:flex;
} }
.tabs .tab a { .custom-tabs .custom-tab a{
padding: 8px 12px; padding: 8px 12px;
} }
#his-des .mention{ #his-des .mention{
@@ -112,15 +92,9 @@
cursor: pointer; cursor: pointer;
} }
#his-float-blocked{ #his-float-blocked{
display: flex; display:flex; justify-content: center; align-items:center;
justify-content: center;
align-items: center;
font-size:2rem; font-size:2rem;
width: 90%;
height: 100%; height: 100%;
} position: absolute;
#hisdropdown{
background-color: var(--bg);
}
#hisdropdown li:hover{
background-color: var(--active);
} }

View File

@@ -1,4 +0,0 @@
directories:
output: dist
buildResources: build
electronVersion: 1.4.13

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,35 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,35 +1,122 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
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"/>
<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"/> <svg xmlns="http://www.w3.org/2000/svg"
width="7.11022in" height="7.11022in"
<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"/> viewBox="0 0 512 512">
<path class="st5" d="M714.5,2953.5"/> <path id="選択範囲 #1"
<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 fill="white" stroke="white" stroke-width="1"
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 d="M 96.00,16.00
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 99.85,16.01 102.39,15.12 104.00,19.00
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 104.00,19.00 97.00,19.00 97.00,19.00
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 97.00,19.00 108.00,22.07 108.00,22.07
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 108.00,22.07 144.00,43.08 144.00,43.08
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"/> 144.00,43.08 181.83,64.31 181.83,64.31
<rect class="st7" width="4096" height="4096"/> 181.83,64.31 223.00,88.26 223.00,88.26
<path class="st1" d="M-58,1122"/> 223.00,88.26 247.00,102.22 247.00,102.22
</g> 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" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
app/img/osushi_qr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

BIN
app/img/sticker.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,132 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -1,4 +1,6 @@
//このソフトについて //このソフトについて
function about() { function about() {
postMessage(["sendSinmpleIpc", "about"], "*") var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('about', 'go');
} }

View File

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

4
app/js/common/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,3 @@
selectedColumn = 0
selectedToot = 0
$(function($) { $(function($) {
//キーボードショートカット //キーボードショートカット
$(window).keydown(function(e) { $(window).keydown(function(e) {
@@ -22,6 +20,7 @@ $(function ($) {
return false; return false;
} }
} }
} }
//Ctrl+Enter:投稿 //Ctrl+Enter:投稿
if (event.metaKey || event.ctrlKey && wv) { if (event.metaKey || event.ctrlKey && wv) {
@@ -37,6 +36,14 @@ $(function ($) {
return false; return false;
} }
} }
//Shift+Space:Markdownゼロ幅スペース
if (event.shiftKey) {
if (e.keyCode === 32) {
brInsert("");
return false;
}
}
//Esc:消す //Esc:消す
if (e.keyCode === 27 && wv) { if (e.keyCode === 27 && wv) {
hide(); hide();
@@ -47,6 +54,14 @@ $(function ($) {
location.href = "index.html"; location.href = "index.html";
return false; 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:全消し //Ctrl+Sift+C:全消し
if (((event.metaKey || event.ctrlKey) && event.shiftKey )&& wv) { if (((event.metaKey || event.ctrlKey) && event.shiftKey )&& wv) {
if (e.keyCode === 67) { if (e.keyCode === 67) {
@@ -120,7 +135,7 @@ $(function ($) {
} }
} }
//Ctrl+Sift+P:プロフ //Ctrl+Sift+P:プロフ
if ((event.metaKey || event.ctrlKey) && event.shiftKey) { if ((event.ctrlKey) && event.shiftKey) {
if (e.keyCode === 80) { if (e.keyCode === 80) {
profShow() profShow()
return false; return false;
@@ -134,82 +149,30 @@ $(function ($) {
return false; 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フォーカス時 //textareaフォーカス時
if (hasFocus2 && wv) { if (hasFocus2 && wv) {
if (event.metaKey || event.ctrlKey) { 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):ワンクリ //C+S+(No):ワンクリ
if ((event.metaKey || event.ctrlKey) && event.shiftKey) { if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
if (e.keyCode >= 49 && e.keyCode <= 51) { if (e.keyCode >= 49 && e.keyCode <= 51) {
@@ -220,28 +183,22 @@ $(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").click(function() {
clear(); 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 })
}
}
}

10022
app/js/common/materialize.js vendored Normal file

File diff suppressed because it is too large Load Diff

6
app/js/common/materialize.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,17 +1,8 @@
//モーダル・ドロップダウンの各種設定 //モーダル・ドロップダウンの各種設定
$(document).ready(function(){ $(document).ready(function(){
// the "href" attribute of the modal trigger must specify the modal ID that wants to be triggered // the "href" attribute of the modal trigger must specify the modal ID that wants to be triggered
$('.modal').modal({ $('.modal').modal();
inDuration: 300, $('.dropdown-button').dropdown({
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, inDuration: 300,
outDuration: 225, outDuration: 225,
constrainWidth: false, // Does not change width of dropdown to that of the activator constrainWidth: false, // Does not change width of dropdown to that of the activator
@@ -22,5 +13,5 @@ $(document).ready(function () {
stopPropagation: false // Stops event propagation stopPropagation: false // Stops event propagation
} }
); );
$('.collapsible').collapsible();
}); });

View File

@@ -1,96 +1,33 @@
var sha256 = function sha256(ascii) { /*
function rightRotate(value, amount) { A JavaScript implementation of the SHA family of hashes, as
return (value >>> amount) | (value << (32 - amount)); defined in FIPS PUB 180-4 and FIPS PUB 202, as well as the corresponding
}; HMAC implementation as defined in FIPS PUB 198a
var mathPow = Math.pow; Copyright 2008-2018 Brian Turek, 1998-2009 Paul Johnston & Contributors
var maxWord = mathPow(2, 32); Distributed under the BSD License
var lengthProperty = 'length' See http://caligatio.github.com/jsSHA/ for more information
var i, j; // Used as a counter across the whole file */
var result = '' 'use strict';(function(I){function w(c,a,d){var l=0,b=[],g=0,f,n,k,e,h,q,y,p,m=!1,t=[],r=[],u,z=!1;d=d||{};f=d.encoding||"UTF8";u=d.numRounds||1;if(u!==parseInt(u,10)||1>u)throw Error("numRounds must a integer >= 1");if(0===c.lastIndexOf("SHA-",0))if(q=function(b,a){return A(b,a,c)},y=function(b,a,l,f){var g,e;if("SHA-224"===c||"SHA-256"===c)g=(a+65>>>9<<4)+15,e=16;else throw Error("Unexpected error in SHA-2 implementation");for(;b.length<=g;)b.push(0);b[a>>>5]|=128<<24-a%32;a=a+l;b[g]=a&4294967295;
b[g-1]=a/4294967296|0;l=b.length;for(a=0;a<l;a+=e)f=A(b.slice(a,a+e),f,c);if("SHA-224"===c)b=[f[0],f[1],f[2],f[3],f[4],f[5],f[6]];else if("SHA-256"===c)b=f;else throw Error("Unexpected error in SHA-2 implementation");return b},p=function(b){return b.slice()},"SHA-224"===c)h=512,e=224;else if("SHA-256"===c)h=512,e=256;else throw Error("Chosen SHA variant is not supported");else throw Error("Chosen SHA variant is not supported");k=B(a,f);n=x(c);this.setHMACKey=function(b,a,g){var e;if(!0===m)throw Error("HMAC key already set");
var words = []; if(!0===z)throw Error("Cannot set HMAC key after calling update");f=(g||{}).encoding||"UTF8";a=B(a,f)(b);b=a.binLen;a=a.value;e=h>>>3;g=e/4-1;if(e<b/8){for(a=y(a,b,0,x(c));a.length<=g;)a.push(0);a[g]&=4294967040}else if(e>b/8){for(;a.length<=g;)a.push(0);a[g]&=4294967040}for(b=0;b<=g;b+=1)t[b]=a[b]^909522486,r[b]=a[b]^1549556828;n=q(t,n);l=h;m=!0};this.update=function(a){var c,f,e,d=0,p=h>>>5;c=k(a,b,g);a=c.binLen;f=c.value;c=a>>>5;for(e=0;e<c;e+=p)d+h<=a&&(n=q(f.slice(e,e+p),n),d+=h);l+=d;b=f.slice(d>>>
var asciiBitLength = ascii[lengthProperty] * 8; 5);g=a%h;z=!0};this.getHash=function(a,f){var d,h,k,q;if(!0===m)throw Error("Cannot call getHash after setting HMAC key");k=C(f);switch(a){case "HEX":d=function(a){return D(a,e,k)};break;case "B64":d=function(a){return E(a,e,k)};break;case "BYTES":d=function(a){return F(a,e)};break;case "ARRAYBUFFER":try{h=new ArrayBuffer(0)}catch(v){throw Error("ARRAYBUFFER not supported by this environment");}d=function(a){return G(a,e)};break;default:throw Error("format must be HEX, B64, BYTES, or ARRAYBUFFER");
}q=y(b.slice(),g,l,p(n));for(h=1;h<u;h+=1)q=y(q,e,0,x(c));return d(q)};this.getHMAC=function(a,f){var d,k,t,u;if(!1===m)throw Error("Cannot call getHMAC without first setting HMAC key");t=C(f);switch(a){case "HEX":d=function(a){return D(a,e,t)};break;case "B64":d=function(a){return E(a,e,t)};break;case "BYTES":d=function(a){return F(a,e)};break;case "ARRAYBUFFER":try{d=new ArrayBuffer(0)}catch(v){throw Error("ARRAYBUFFER not supported by this environment");}d=function(a){return G(a,e)};break;default:throw Error("outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER");
//* caching results is optional - remove/add slash from front of this line to toggle }k=y(b.slice(),g,l,p(n));u=q(r,x(c));u=y(k,e,h,u);return d(u)}}function m(){}function D(c,a,d){var l="";a/=8;var b,g;for(b=0;b<a;b+=1)g=c[b>>>2]>>>8*(3+b%4*-1),l+="0123456789abcdef".charAt(g>>>4&15)+"0123456789abcdef".charAt(g&15);return d.outputUpper?l.toUpperCase():l}function E(c,a,d){var l="",b=a/8,g,f,n;for(g=0;g<b;g+=3)for(f=g+1<b?c[g+1>>>2]:0,n=g+2<b?c[g+2>>>2]:0,n=(c[g>>>2]>>>8*(3+g%4*-1)&255)<<16|(f>>>8*(3+(g+1)%4*-1)&255)<<8|n>>>8*(3+(g+2)%4*-1)&255,f=0;4>f;f+=1)8*g+6*f<=a?l+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n>>>
// Initial hash value: first 32 bits of the fractional parts of the square roots of the first 8 primes 6*(3-f)&63):l+=d.b64Pad;return l}function F(c,a){var d="",l=a/8,b,g;for(b=0;b<l;b+=1)g=c[b>>>2]>>>8*(3+b%4*-1)&255,d+=String.fromCharCode(g);return d}function G(c,a){var d=a/8,l,b=new ArrayBuffer(d),g;g=new Uint8Array(b);for(l=0;l<d;l+=1)g[l]=c[l>>>2]>>>8*(3+l%4*-1)&255;return b}function C(c){var a={outputUpper:!1,b64Pad:"=",shakeLen:-1};c=c||{};a.outputUpper=c.outputUpper||!1;!0===c.hasOwnProperty("b64Pad")&&(a.b64Pad=c.b64Pad);if("boolean"!==typeof a.outputUpper)throw Error("Invalid outputUpper formatting option");
// (we actually calculate the first 64, but extra values are just ignored) if("string"!==typeof a.b64Pad)throw Error("Invalid b64Pad formatting option");return a}function B(c,a){var d;switch(a){case "UTF8":case "UTF16BE":case "UTF16LE":break;default:throw Error("encoding must be UTF8, UTF16BE, or UTF16LE");}switch(c){case "HEX":d=function(a,b,c){var f=a.length,d,k,e,h,q;if(0!==f%2)throw Error("String of HEX type must be in byte increments");b=b||[0];c=c||0;q=c>>>3;for(d=0;d<f;d+=2){k=parseInt(a.substr(d,2),16);if(isNaN(k))throw Error("String of HEX type contains invalid characters");
var hash = sha256.h = sha256.h || []; h=(d>>>1)+q;for(e=h>>>2;b.length<=e;)b.push(0);b[e]|=k<<8*(3+h%4*-1)}return{value:b,binLen:4*f+c}};break;case "TEXT":d=function(c,b,d){var f,n,k=0,e,h,q,m,p,r;b=b||[0];d=d||0;q=d>>>3;if("UTF8"===a)for(r=3,e=0;e<c.length;e+=1)for(f=c.charCodeAt(e),n=[],128>f?n.push(f):2048>f?(n.push(192|f>>>6),n.push(128|f&63)):55296>f||57344<=f?n.push(224|f>>>12,128|f>>>6&63,128|f&63):(e+=1,f=65536+((f&1023)<<10|c.charCodeAt(e)&1023),n.push(240|f>>>18,128|f>>>12&63,128|f>>>6&63,128|f&63)),h=0;h<n.length;h+=1){p=k+
// Round constants: first 32 bits of the fractional parts of the cube roots of the first 64 primes q;for(m=p>>>2;b.length<=m;)b.push(0);b[m]|=n[h]<<8*(r+p%4*-1);k+=1}else if("UTF16BE"===a||"UTF16LE"===a)for(r=2,n="UTF16LE"===a&&!0||"UTF16LE"!==a&&!1,e=0;e<c.length;e+=1){f=c.charCodeAt(e);!0===n&&(h=f&255,f=h<<8|f>>>8);p=k+q;for(m=p>>>2;b.length<=m;)b.push(0);b[m]|=f<<8*(r+p%4*-1);k+=2}return{value:b,binLen:8*k+d}};break;case "B64":d=function(a,b,c){var f=0,d,k,e,h,q,m,p;if(-1===a.search(/^[a-zA-Z0-9=+\/]+$/))throw Error("Invalid character in base-64 string");k=a.indexOf("=");a=a.replace(/\=/g,
var k = sha256.k = sha256.k || []; "");if(-1!==k&&k<a.length)throw Error("Invalid '=' found in base-64 string");b=b||[0];c=c||0;m=c>>>3;for(k=0;k<a.length;k+=4){q=a.substr(k,4);for(e=h=0;e<q.length;e+=1)d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(q[e]),h|=d<<18-6*e;for(e=0;e<q.length-1;e+=1){p=f+m;for(d=p>>>2;b.length<=d;)b.push(0);b[d]|=(h>>>16-8*e&255)<<8*(3+p%4*-1);f+=1}}return{value:b,binLen:8*f+c}};break;case "BYTES":d=function(a,b,c){var d,n,k,e,h;b=b||[0];c=c||0;k=c>>>3;for(n=0;n<a.length;n+=
var primeCounter = k[lengthProperty]; 1)d=a.charCodeAt(n),h=n+k,e=h>>>2,b.length<=e&&b.push(0),b[e]|=d<<8*(3+h%4*-1);return{value:b,binLen:8*a.length+c}};break;case "ARRAYBUFFER":try{d=new ArrayBuffer(0)}catch(l){throw Error("ARRAYBUFFER not supported by this environment");}d=function(a,b,c){var d,n,k,e,h;b=b||[0];c=c||0;n=c>>>3;h=new Uint8Array(a);for(d=0;d<a.byteLength;d+=1)e=d+n,k=e>>>2,b.length<=k&&b.push(0),b[k]|=h[d]<<8*(3+e%4*-1);return{value:b,binLen:8*a.byteLength+c}};break;default:throw Error("format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER");
/*/ }return d}function r(c,a){return c>>>a|c<<32-a}function J(c,a,d){return c&a^~c&d}function K(c,a,d){return c&a^c&d^a&d}function L(c){return r(c,2)^r(c,13)^r(c,22)}function M(c){return r(c,6)^r(c,11)^r(c,25)}function N(c){return r(c,7)^r(c,18)^c>>>3}function O(c){return r(c,17)^r(c,19)^c>>>10}function P(c,a){var d=(c&65535)+(a&65535);return((c>>>16)+(a>>>16)+(d>>>16)&65535)<<16|d&65535}function Q(c,a,d,l){var b=(c&65535)+(a&65535)+(d&65535)+(l&65535);return((c>>>16)+(a>>>16)+(d>>>16)+(l>>>16)+(b>>>
var hash = [], k = []; 16)&65535)<<16|b&65535}function R(c,a,d,l,b){var g=(c&65535)+(a&65535)+(d&65535)+(l&65535)+(b&65535);return((c>>>16)+(a>>>16)+(d>>>16)+(l>>>16)+(b>>>16)+(g>>>16)&65535)<<16|g&65535}function x(c){var a=[],d;if(0===c.lastIndexOf("SHA-",0))switch(a=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],d=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],c){case "SHA-224":break;case "SHA-256":a=d;break;case "SHA-384":a=[new m,new m,
var primeCounter = 0; new m,new m,new m,new m,new m,new m];break;case "SHA-512":a=[new m,new m,new m,new m,new m,new m,new m,new m];break;default:throw Error("Unknown SHA variant");}else throw Error("No SHA variants supported");return a}function A(c,a,d){var l,b,g,f,n,k,e,h,m,r,p,w,t,x,u,z,A,B,C,D,E,F,v=[],G;if("SHA-224"===d||"SHA-256"===d)r=64,w=1,F=Number,t=P,x=Q,u=R,z=N,A=O,B=L,C=M,E=K,D=J,G=H;else throw Error("Unexpected error in SHA-2 implementation");d=a[0];l=a[1];b=a[2];g=a[3];f=a[4];n=a[5];k=a[6];e=a[7];for(p=
//*/ 0;p<r;p+=1)16>p?(m=p*w,h=c.length<=m?0:c[m],m=c.length<=m+1?0:c[m+1],v[p]=new F(h,m)):v[p]=x(A(v[p-2]),v[p-7],z(v[p-15]),v[p-16]),h=u(e,C(f),D(f,n,k),G[p],v[p]),m=t(B(d),E(d,l,b)),e=k,k=n,n=f,f=t(g,h),g=b,b=l,l=d,d=t(h,m);a[0]=t(d,a[0]);a[1]=t(l,a[1]);a[2]=t(b,a[2]);a[3]=t(g,a[3]);a[4]=t(f,a[4]);a[5]=t(n,a[5]);a[6]=t(k,a[6]);a[7]=t(e,a[7]);return a}var H;H=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,
2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,
var isComposite = {}; 2756734187,3204031479,3329325298];"function"===typeof define&&define.amd?define(function(){return w}):"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(module.exports=w),exports=w):I.jsSHA=w})(this);
for (var candidate = 2; primeCounter < 64; candidate++) { function sha256(token){
if (!isComposite[candidate]) { var shaObj = new jsSHA("SHA-256", "TEXT");
for (i = 0; i < 313; i += candidate) { shaObj.update(token);
isComposite[i] = candidate; var hash = shaObj.getHash("HEX");
return hash;
} }
hash[primeCounter] = (mathPow(candidate, .5) * maxWord) | 0;
k[primeCounter++] = (mathPow(candidate, 1 / 3) * maxWord) | 0;
}
}
ascii += '\x80' // Append Ƈ' bit (plus zero padding)
while (ascii[lengthProperty] % 64 - 56) ascii += '\x00' // More zero padding
for (i = 0; i < ascii[lengthProperty]; i++) {
j = ascii.charCodeAt(i);
if (j >> 8) return; // ASCII check: only accept characters in range 0-255
words[i >> 2] |= j << ((3 - i) % 4) * 8;
}
words[words[lengthProperty]] = ((asciiBitLength / maxWord) | 0);
words[words[lengthProperty]] = (asciiBitLength)
// process each chunk
for (j = 0; j < words[lengthProperty];) {
var w = words.slice(j, j += 16); // The message is expanded into 64 words as part of the iteration
var oldHash = hash;
// This is now the undefinedworking hash", often labelled as variables a...g
// (we have to truncate as well, otherwise extra entries at the end accumulate
hash = hash.slice(0, 8);
for (i = 0; i < 64; i++) {
var i2 = i + j;
// Expand the message into 64 words
// Used below if
var w15 = w[i - 15], w2 = w[i - 2];
// Iterate
var a = hash[0], e = hash[4];
var temp1 = hash[7]
+ (rightRotate(e, 6) ^ rightRotate(e, 11) ^ rightRotate(e, 25)) // S1
+ ((e & hash[5]) ^ ((~e) & hash[6])) // ch
+ k[i]
// Expand the message schedule if needed
+ (w[i] = (i < 16) ? w[i] : (
w[i - 16]
+ (rightRotate(w15, 7) ^ rightRotate(w15, 18) ^ (w15 >>> 3)) // s0
+ w[i - 7]
+ (rightRotate(w2, 17) ^ rightRotate(w2, 19) ^ (w2 >>> 10)) // s1
) | 0
);
// This is only used once, so *could* be moved below, but it only saves 4 bytes and makes things unreadble
var temp2 = (rightRotate(a, 2) ^ rightRotate(a, 13) ^ rightRotate(a, 22)) // S0
+ ((a & hash[1]) ^ (a & hash[2]) ^ (hash[1] & hash[2])); // maj
hash = [(temp1 + temp2) | 0].concat(hash); // We don't bother trimming off the extra ones, they're harmless as long as we're truncating when we do the slice()
hash[4] = (hash[4] + temp1) | 0;
}
for (i = 0; i < 8; i++) {
hash[i] = (hash[i] + oldHash[i]) | 0;
}
}
for (i = 0; i < 8; i++) {
for (j = 3; j + 1; j--) {
var b = (hash[i] >> (j * 8)) & 255;
result += ((b < 16) ? 0 : '') + b.toString(16);
}
}
return result;
};

View File

@@ -37,6 +37,7 @@
} }
}; };
var $t = $.timeago; var $t = $.timeago;
$.extend($.timeago, { $.extend($.timeago, {
settings: { settings: {
refreshMillis: 60000, refreshMillis: 60000,
@@ -46,22 +47,22 @@
cutoff: 0, cutoff: 0,
autoDispose: true, autoDispose: true,
strings: { strings: {
prefixAgo: lang.lang_time_prefixAgo, prefixAgo: null,
prefixFromNow: lang.lang_time_prefixFromNow, prefixFromNow: "今から",
suffixAgo: lang.lang_time_suffixAgo, suffixAgo: "",
suffixFromNow: lang.lang_time_suffixFromNow, suffixFromNow: "",
inPast: lang.lang_time_inPast, inPast: '',
seconds: lang.lang_time_seconds, seconds: "%d秒前",
minute: lang.lang_time_minute, minute: "1分前",
minutes: lang.lang_time_minutes, minutes: "%d分前",
hour: lang.lang_time_hour, hour: "1時間前",
hours: lang.lang_time_hours, hours: "%d時間前",
day: lang.lang_time_day, day: "昨日",
days: lang.lang_time_days, days: "%d日前",
month: lang.lang_time_month, month: "昨月",
months: lang.lang_time_months, months: "%dヶ月前",
year: lang.lang_time_year, year: "去年",
years: lang.lang_time_years, years: "%d年前",
wordSeparator: " ", wordSeparator: " ",
numbers: [] numbers: []
} }

View File

@@ -1,26 +1,11 @@
//バージョンチェッカー //バージョンチェッカー
function verck(ver) { function verck(ver) {
console.log("%c Welcome😊", "color: red;font-size:200%;") console.log("Welcome")
var date = new Date(); if(localStorage.getItem("ver")!=ver){
var show = false localStorage.setItem("ver", ver);
if (localStorage.getItem("ver") != ver && localStorage.getItem("winstore")) { console.log("Thank you for your update");
//ちょっと削除とリンク解析の都合上アレ(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)
show = true
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
$(document).ready(function(){ $(document).ready(function(){
if (localStorage.getItem("winstore")) {
$('#releasenote').modal('open'); $('#releasenote').modal('open');
}
verp=ver.replace( '(', ''); verp=ver.replace( '(', '');
verp=verp.replace( '.', '-'); verp=verp.replace( '.', '-');
verp=verp.replace( '.', '-'); verp=verp.replace( '.', '-');
@@ -28,40 +13,76 @@ function verck(ver) {
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%;"); console.log(verp);
if(lang.language=="ja"){ if(lang.language=="ja"){
$("#release-"+verp).show(); $("#release-"+verp).show();
}else{ }else{
$("#release-en").show(); $("#release-en").show();
} }
}); });
} }
localStorage.setItem("ver", ver); var electron = require("electron");
if (!show) { var remote=electron.remote;
console.log(show) var dialog=remote.dialog;
if (date.getMonth() + 1 >= localStorage.getItem("showSupportMe") || !localStorage.getItem("showSupportMe")) { var platform=remote.process.platform;
if (date.getMonth() == 11) { if(platform=="win32"){
var nextmonth = 1 const options = {
} else { type: 'info',
var nextmonth = date.getMonth() + 2 title: "Select your platform",
message: lang.lang_version_platform,
buttons: [lang.lang_no,lang.lang_yesno]
} }
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")){ if(!localStorage.getItem("winstore")){
$("#start").css('display', 'flex');
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")
} }
if(localStorage.getItem("winstore")=="brewcask" || localStorage.getItem("winstore")=="snapcraft" || localStorage.getItem("winstore")=="winstore"){ if(localStorage.getItem("winstore")=="brewcask" || localStorage.getItem("winstore")=="snapcraft" || localStorage.getItem("winstore")=="winstore"){
var winstore=true; var winstore=true;
@@ -85,9 +106,11 @@ function verck(ver) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(mess) { }).then(function(mess) {
console.table(mess); console.log(mess);
if (mess) { if (mess) {
var platform = localStorage.getItem("platform"); var electron = require("electron");
var remote=electron.remote;
var platform=remote.process.platform;
if(platform=="darwin"){ if(platform=="darwin"){
var newest=mess.desk_mac; var newest=mess.desk_mac;
}else{ }else{
@@ -102,13 +125,15 @@ function verck(ver) {
localStorage.removeItem("instance") localStorage.removeItem("instance")
if(localStorage.getItem("new-ver-skip")){ if(localStorage.getItem("new-ver-skip")){
if(localStorage.getItem("next-ver")!=newest){ if(localStorage.getItem("next-ver")!=newest){
postMessage(["sendSinmpleIpc", "update"], "*") var ipc = electron.ipcRenderer;
ipc.send('update', "true");
}else{ }else{
console.warn(lang.lang_version_skipver); console.log(lang.lang_version_skipver);
todo(lang.lang_version_skipver); todo(lang.lang_version_skipver);
} }
}else{ }else{
postMessage(["sendSinmpleIpc", "update"], "*") var ipc = electron.ipcRenderer;
ipc.send('update', "true");
} }
} }
} }
@@ -116,7 +141,9 @@ function verck(ver) {
if(!localStorage.getItem("last-notice-id")){ if(!localStorage.getItem("last-notice-id")){
localStorage.setItem("last-notice-id",0) localStorage.setItem("last-notice-id",0)
} }
console.log(localStorage.getItem("last-notice-id"))
var start = "https://thedesk.top/notice?since_id="+localStorage.getItem("last-notice-id"); var start = "https://thedesk.top/notice?since_id="+localStorage.getItem("last-notice-id");
console.log(start);
fetch(start, { fetch(start, {
method: 'GET' method: 'GET'
}).then(function(response) { }).then(function(response) {
@@ -125,6 +152,7 @@ function verck(ver) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(mess) { }).then(function(mess) {
console.log(mess.length);
if(mess.length<1){ if(mess.length<1){
return false; return false;
}else{ }else{
@@ -135,38 +163,34 @@ function verck(ver) {
if(obj.ID*1<=last){ if(obj.ID*1<=last){
break; break;
}else{ }else{
if (obj.type == "textv2") {
if (~obj.languages.indexOf(lang.language)) {
var show=true; var show=true;
if (obj.toot != "") { if(obj.Toot!=""){
var toot = '<button class="btn-flat toast-action" onclick="detEx(\'' + obj.toot + '\',\'main\')">Show</button>'; var toot='<button class="btn-flat toast-action" onclick="detEx(\''+obj.Toot+'\',\'main\')">Show</button>';
}else{ }else{
var toot=""; var toot="";
} }
if (obj.ver != "") { if(obj.Ver!=""){
if (obj.ver == ver) { if(obj.Ver==ver){
show=true; show=true;
}else{ }else{
show=false; show=false;
} }
} }
if (obj.domain != "") { if(obj.Domain!=""){
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
if (multi) { if (multi) {
show=false; show=false;
var accts = JSON.parse(multi); var accts = JSON.parse(multi);
Object.keys(accts).forEach(function(key) { Object.keys(accts).forEach(function(key) {
var acct = accts[key]; var acct = accts[key];
if (acct.domain == obj.domain) { if(acct.domain==obj.Domain){
show=true; show=true;
} }
}); });
} }
} }
if(show){ if(show){
M.toast({ html: escapeHTML(obj.text) + toot + '<span class="sml grey-text">(スライドして消去)</span>', displayLength: 86400 }) Materialize.toast(escapeHTML(obj.Text)+toot+'<span class="sml grey-text">(スライドして消去)</span>', 86400);
}
}
} }
} }
@@ -178,15 +202,15 @@ var infostreaming = false;
function infowebsocket(){ function infowebsocket(){
infows = new WebSocket("wss://thedesk.top/ws/"); infows = new WebSocket("wss://thedesk.top/ws/");
infows.onopen = function(mess) { infows.onopen = function(mess) {
console.log([tlid, ":Connect Streaming Info:", mess]); console.log(tlid + ":Connect Streaming Info:");
console.log(mess);
infostreaming=true; infostreaming=true;
} }
infows.onmessage = function(mess) { infows.onmessage = function(mess) {
console.log([tlid, ":Receive Streaming:", JSON.parse(mess.data)]); console.log(":Receive Streaming:");
console.log(JSON.parse(mess.data));
var obj=JSON.parse(mess.data); var obj=JSON.parse(mess.data);
if(obj.type!="counter"){ if(obj.type!="counter"){
if (obj.type == "textv2") {
if (~obj.languages.indexOf(lang.language)) {
localStorage.setItem("last-notice-id",obj.id) localStorage.setItem("last-notice-id",obj.id)
var show=true; var show=true;
if(obj.toot!=""){ if(obj.toot!=""){
@@ -215,11 +239,7 @@ function infowebsocket() {
} }
} }
if(show){ if(show){
console.log(obj.text) Materialize.toast(escapeHTML(obj.Text)+toot+'<span class="sml grey-text">(スライドして消去)</span>', 86400);
console.log(escapeHTML(obj.text))
M.toast({ html: escapeHTML(obj.text) + toot + '<span class="sml grey-text">(スライドして消去)</span>', displayLength: 86400 })
}
}
} }
}else{ }else{
$("#persons").text(obj.text); $("#persons").text(obj.text);
@@ -238,83 +258,7 @@ function infowebsocket() {
} }
setInterval(function(){ setInterval(function(){
if(!infostreaming){ if(!infostreaming){
console.log("try to connect to base-streaming") console.log("try to connect")
infowebsocket(); infowebsocket();
} }
}, 10000); }, 10000);
function openRN() {
$('#releasenote').modal('open');
if (lang.language == "ja") {
verp = ver.replace('(', '');
verp = verp.replace('.', '-');
verp = verp.replace('.', '-');
verp = verp.replace('[', '-');
verp = verp.replace(']', '');
verp = verp.replace(')', '');
verp = verp.replace(' ', '_');
$("#release-" + verp).show();
} else {
$("#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();
}
});
})
}
function closeStart() {
$("#start").css('display', 'none');
var platform = localStorage.getItem("platform");
var ver = localStorage.getItem("ver");
storeDialog(platform, ver)
}

View File

@@ -42,6 +42,7 @@ function defaultEmoji(target) {
}); });
$("#emoji-list").html(emojis); $("#emoji-list").html(emojis);
$("#now-emoji").text(lang.lang_defaultemojis_text.replace("{{cat}}" ,defaultemojiname[target])); $("#now-emoji").text(lang.lang_defaultemojis_text.replace("{{cat}}" ,defaultemojiname[target]));
console.log(target);
$(".emoji-control").addClass("hide"); $(".emoji-control").addClass("hide");
} }
function customEmoji(){ function customEmoji(){
@@ -50,28 +51,32 @@ function customEmoji() {
emojiList('home') emojiList('home')
} }
function defEmoji(target){ function defEmoji(target){
var emojiraw = newpack.filter(function(item, index){
if (item.short_name == target) return true;
});
emoji=twemoji.convert.fromCodePoint(emojiraw[0].unified);
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;
}
console.log(emoji);
$("#textarea").val(newt);
$("#textarea").focus();
var selin = $("#textarea").prop('selectionStart'); var selin = $("#textarea").prop('selectionStart');
if(!selin){ if(!selin){
selin=0; selin=0;
} }
var emojiraw = newpack.filter(function (item, index) { localStorage.setItem("cursor", selin);
if (item.short_name == target) return true;
});
var hex = emojiraw[0].unified.split("-");
if (hex.length === 2) {
emoji = twemoji.convert.fromCodePoint(hex[0]) + twemoji.convert.fromCodePoint(hex[1]);
} else {
emoji = twemoji.convert.fromCodePoint(hex[0]);
}
var now = $("#textarea").val();
var before = now.substr(0, selin);
var after = now.substr(selin, now.length);
newt = before + emoji + after;
$("#textarea").val(newt);
$("#textarea").focus();
} }
function faicon(){ function faicon(){
var json=faicons; var json=faicons;
console.log(json);
var emojis=""; var emojis="";
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function(key) {
var emoji = json[key]; var emoji = json[key];

250
app/js/lang/lang.en.js Normal file
View File

@@ -0,0 +1,250 @@
//commonError
var lang={
"language":"en",
"lang_toot":"Toot",
"lang_there":"Yes",
"lang_nothing":"None",
"lang_yesno":"Yes",
"lang_no":"No",
"lang_progress":"Wait...",
"lang_edit":"Edit",
"lang_del":"Delete",
"lang_add":"Add",
"lang_fatalerroroccured":"Some errors are occured, please restart TheDesk.",
"lang_speech":"Google US English",
//language.html
"lang_lang":"Language",
"lang_langlocale":"English",
"lang_back":"Back",
"lang_set":"Set",
"lang_langadd":"Translate TheDesk to other languages or proofread TheDesk on <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk needs your help.",
//common/version.js
"lang_version_usever":"No update is found({{ver}})",
"lang_version_skipver":"Update was ignored.",
"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.",
//login
//login/login.js
"lang_login_noauth":"Show TL of unlogined accounts",
//login/manager.js
"lang_manager_info":"About this instance",
"lang_manager_refresh":"Refresh",
"lang_manager_delete":"Logout",
"lang_manager_color":"Account Color",
"lang_manager_confirm":"is about to logout. Continue?",
"lang_manager_mainAcct":"Done:choose main account",
"lang_manager_def":"Default",
"lang_manager_none":"None",
"lang_manager_godev":"Open DevCenter of Misskey. We show also an official documents to refer.",
//post/bb-md.js
"lang_bbmd_misskey":"TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
//post/emoji.js
"lang_emoji_get":"Get emojis",
"lang_emoji_custom":"Custom emojis",
"lang_defaultemojis_text":"Emojis about {{cat}}",
//post/img.js
"lang_postimg_previewdis":"cannot preview",
"lang_postimg_aftupload":"You cannot change accounts after uploading.",
"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?",
"lang_post_tagVis":"This toot(not 'public' toot) is not shown on this tag's TL.",
"lang_post_cwtitle":"Auto CW Alert",
"lang_post_cwtxt":"You are about to post longer toot than you set.\nWarning text:",
"lang_post_btn1":"Cancel (will not post)",
"lang_post_btn2":"Make text hidden automatically",
"lang_post_btn3":"Continue to post",
//post/status.js
"lang_status_favWarn":"It will take a miunte to favourite a remote toot.",
"lang_status_btWarn":"It will take a miunte to boost a remote toot.",
"lang_status_follow":"Follow",
"lang_status_unfollow":"Unfollow",
"lang_status_block":"Block",
"lang_status_unblock":"Unblock",
"lang_status_mute":"Mute",
"lang_status_unmute":"Unmute",
"lang_status_redraft":"Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.",
"lang_status_emphas":"'s toots are emphasized. Please reload after this action.",
"lang_status_unemphas":"'s toots are not emphasized. Please reload after this action.",
"lang_status_unendorse":"Not feature on profile",
"lang_status_endorse":"Feature on profile",
//post/suggest.js
"lang_suggest_nodata":"Please get emojis list in order to show suggestion.",
//post/use-txtbox.js
"lang_usetxtbox_reply":"Reply Mode. Ctrl+Shift+C to clear.",
//tl/card.js
"lang_cards_check":" check",
"lang_cards_pip":"PiP mode",
//tl/details.js
"lang_details_nodata":"No data",
"lang_details_filtered":"Filtered toot",
"lang_details_embed":"Embed HTML is cliped.",
"lang_details_url":"URL of this toot is cliped.",
"lang_details_txt":"Content of this toot is cliped.",
//tl/filter.js
"lang_filter_nodata":"No data",
"lang_filter_errordegree":"Please check a context",
//tl/list.js
"lang_list_nodata":"No data",
"lang_list_show":"Show",
"lang_list_users":"Users list",
"lang_list_nouser":"No users in this list.",
"lang_list_add":"Add to the list",
"lang_list_add_misskey":"(perhaps this user has been listed)",
"lang_list_remove":"Remove from the list",
//tl/notification.js
"lang_notf_new":" new notifications",
//tl/speech.js
"lang_speech_refresh":"Save value about TTS config",
//tl/src.js
"lang_src_ts":"chronological order",
"lang_src_people":" people toot",
//tl/tag.js
"lang_tags_always":"Always toots with ",
"lang_tags_realtime":"Tag-stream toot",
"lang_tags_tagunpin":"Unpin {{tag}}",
"lang_tags_unrealtime":"Disable TsT",
"lang_tags_tagwarn":"Auto complete {{tag}}, if toot without {{tag}}",
//tl/tl.js
"lang_tl_media":"Media",
"lang_tl_reconnect":"Reconnect to streaming API",
//ui/layout.js
"lang_layout_gotop":"Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct":"{{notf}} of this account",
"lang_layout_delthis":"Remove this column",
"lang_layout_setthis":"Preferences of this column",
"lang_layout_mediafil":"Media filtering",
"lang_layout_linkana":"Auto Link Analyzer",
"lang_layout_linkanades":"Auto link analyzer",
"lang_layout_tts":"Text to speech ",
"lang_layout_reconnect":"Reconnect to streaming API",
"lang_layout_headercolor":"Header color of this column",
"lang_layout_nodata":"[No data]<br>F5/⌘+R to reload",
"lang_layout_dm":"Direct Message",
"lang_layout_webviewmode":"Prefer WebView",
"lang_excluded":"Excluded type of notification",
"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",
//ui/sort.js
"lang_sort_gothis":"Go to this column",
"lang_sort_remthis":"Delete this column",
//ui/spotify.js
"lang_spotify_img":"Attach an album artwork",
"lang_spotify_imgno":"Not attach an album artwork",
"lang_spotify_acct":"Connect TheDesk to Spotify",
"lang_spotify_np":"Done:templete of NowPlaying",
"lang_setting_npprovide":"NowPlaying provider:{{set}}",
//userdata/his-data.js
"lang_hisdata_frcreq":"Required Mastodon 2.4.3 and above",
"lang_hisdata_frcwarn":"Unfollow accounts will be shown.",
"lang_hisdata_taketime":"It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey":"Misskey is unable to request.",
"lang_hisdata_key":"This user is proofed by {{set}}",
//userdata/showOnTL.js
"lang_showontl_movetxt":"This account was moved",
"lang_showontl_movebtn":"Continue on the new account",
"lang_showontl_botacct":"[bot]",
"lang_showontl_followed":"Following you",
"lang_showontl_notf":"Notification ",
"lang_showontl_domain":"Domain ",
"lang_showontl_listwarn":"Follow to add this user to lists.",
"lang_showontl_verified":"This website is verified by owner at ",
//parse
"lang_parse_mentioned":" replied to you",
"lang_parse_faved":" favourited your toot",
"lang_parse_bted":" boosted your toot",
"lang_parse_btedsimple":" boosted",
"lang_parse_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":"Delete this toot",
"lang_parse_pin":"Pin this toot",
"lang_parse_det":"Details via your main account.",
"lang_parse_redraft":"Delete & re-draft",
"lang_parse_followed":"Followed you",
"lang_parse_clientop":"Operation of this client",
"lang_parse_clienttxt":" will be",
"lang_parse_clientno":"done nothing",
"lang_parse_clientemp":"emphasized(/not emphasized)",
"lang_parse_clientmute":"muted",
"lang_parse_mute":" will be muted. You can remove on preferences.",
"lang_parse_voted":"Voted",
"lang_parse_vote":"Vote",
"lang_parse_unvoted":"Show the result without voting",
"lang_parse_endedvote":"Expired",
"lang_parse_thread":"Show thread",
//misskey
"lang_misskeyparse_renote":"Repost",
"lang_misskeyparse_renoteqt":"Renote",
"lang_misskeyparse_reaction":"Reaction",
"lang_misskeyparse_tagnostr":"No streaming API on Tag TLs",
"lang_misskeyparse_listnostr":"No streaming API on List TLs",
"lang_misskeyparse_home":"Home",
"lang_misskeyparse_followers":"Follower",
"lang_misskeyparse_specified":"Specified User",
"lang_misskeyparse_qt":"Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
"lang_misskeyparse_renoted":" renoted your following post.",
"lang_misskeyparse_quoted":" quoted your following post.",
"lang_misskeyparse_reacted":" reacted your following post.",
//setting
"lang_setting_time":"Time format:{{set}}",
"lang_setting_theme":"Theme:{{set}}",
"lang_setting_nsfw":"NSFW:{{set}}",
"lang_setting_cw":"CW:{{set}}",
"lang_setting_cwtext":"Default CW text:{{set}}",
"lang_setting_cws":"Always CW on:{{set}}",
"lang_setting_rp":"Reply counter:{{set}}",
"lang_setting_vis":"Default visibility:{{set}}",
"lang_setting_popup":"Popup notification:{{set}}",
"lang_setting_off":"Off",
"lang_setting_s":"s",
"lang_setting_box":"Default toot box action:{{set}}",
"lang_setting_gif":"GIF:{{set}}",
"lang_setting_selt":"Auto fold:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_autocw":"Auto CW:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_width":"Minimam width:{{set}}",
"lang_setting_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":"All data will be deleted.",
}

252
app/js/lang/lang.ja.js Normal file
View File

@@ -0,0 +1,252 @@
//commonError
var lang={
"language":"ja",
"lang_toot":"トゥート",
"lang_there":"あり",
"lang_nothing":"なし",
"lang_yesno":"はい",
"lang_no":"いいえ",
"lang_progress":"処理中",
"lang_edit":"編集",
"lang_del":"削除",
"lang_add":"追加",
"lang_fatalerroroccured":"エラーが発生しました。しばらく待ってから再起動してください。",
"lang_speech":"Google 日本語",
//language.html
"lang_lang":"言語",
"lang_langlocale":"日本語",
"lang_back":"戻る",
"lang_set":"設定",
"lang_langadd":"<a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>から翻訳に参加できます。英語の校正(緊急)や他言語に翻訳していただける方を募集しております。",
//common/version.js
"lang_version_usever":"お使いのバージョン{{ver}}は最新です。",
"lang_version_skipver":"アップデートはスキップされました。",
"lang_version_platform":"このソフトウェアはMicrosoft Storeからダウンロードされましたか(「はい」を選択すると次回からアップデート通知を無視します。)",
"lang_version_platform_linux":"このソフトウェアはSnapcraft(snapd)からインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
"lang_version_platform_mac":"このソフトウェアはHomebrew Caskからインストールしましたか(「はい」を選択すると次回からアップデート通知を無視します。)",
//login
//login/login.js
"lang_login_noauth":"認証せずに見る",
//login/manager.js
"lang_manager_info":"インスタンス情報",
"lang_manager_refresh":"情報更新",
"lang_manager_delete":"削除",
"lang_manager_color":"アカウントカラーを選択",
"lang_manager_confirm":"を削除します。",
"lang_manager_mainAcct":"メインアカウントを設定しました。",
"lang_manager_def":"既定",
"lang_manager_none":"なし",
"lang_manager_godev":"MisskeyのDevセンターに移動します。同時に開かれるドキュメントを参考にログインしてください。",
//post/bb-md.js
"lang_bbmd_misskey":"TheDeskにおけるMisskeyでは、@を返信として扱いますが、全ての@は消去され別パラメータに入力されます。また、「未収載」を「ホーム」として扱います。",
//post/emoji.js
"lang_emoji_get":"絵文字リストを取得",
"lang_emoji_custom":"カスタム絵文字",
"lang_defaultemojis_text":"{{cat}}の絵文字",
//post/img.js
"lang_postimg_previewdis":"プレビューできません。",
"lang_postimg_aftupload":"アップロード後はアカウントを切り替えられません。",
"lang_postimg_delete":"この画像を削除します",
//post/post.js
"lang_post_tagTL":"デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
"lang_post_tagVis":"公開範囲が「公開」以外だと、タグTLに表示されません。(一部インスタンスを除く)",
"lang_post_cwtitle":"長文投稿の警告",
"lang_post_cwtxt":"指定文字数、行数を超えるトゥートを行おうとしています。\n自動CWのタイトル:",
"lang_post_btn1":"キャンセル(投稿しない)",
"lang_post_btn2":"自動でCWを付ける",
"lang_post_btn3":"そのまま投稿",
//post/status.js
"lang_status_favWarn":"お気に入り登録しました。インスタンスが違うときは時間がかかる場合があります。",
"lang_status_btWarn":"ブーストしました。インスタンスが違うときは時間がかかる場合があります。",
"lang_status_follow":"フォロー",
"lang_status_unfollow":"フォロー解除",
"lang_status_block":"ブロック",
"lang_status_unblock":"ブロック解除",
"lang_status_mute":"ミュート",
"lang_status_unmute":"ミュート解除",
"lang_status_redraft":"削除して再編集しますか?そのトゥートの全てのデータがリセットされます。この機能はベータ版です。画像は~v2.4.1で破棄されます。",
"lang_status_emphas":"を強調します。リロードしてください。",
"lang_status_unemphas":"を強調解除します。リロードしてください。",
"lang_status_unendorse":"紹介解除",
"lang_status_endorse":"プロフで紹介する",
//post/suggest.js
"lang_suggest_nodata":"サジェストのために絵文字リストを取得してください。",
//post/use-txtbox.js
"lang_usetxtbox_reply":"返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
//tl/card.js
"lang_cards_check":"チェック",
"lang_cards_pip":"ながら観モード",
//tl/details.js
"lang_details_nodata":"データなし",
"lang_details_filtered":"フィルターされました。",
"lang_details_embed":"埋め込みHTMLがコピーされました。",
"lang_details_url":"トゥートURLがコピーされました。",
"lang_details_txt":"トゥート本文がコピーされました。",
//tl/filter.js
"lang_filter_nodata":"フィルターはありません",
"lang_filter_errordegree":"適応範囲を最低一つ以上チェックしてください。",
//tl/list.js
"lang_list_nodata":"リストはありません",
"lang_list_show":"表示",
"lang_list_users":"ユーザー一覧",
"lang_list_nouser":"ユーザーはいません",
"lang_list_add":"リストに追加",
"lang_list_add_misskey":"(重複追加の可能性があります)",
"lang_list_remove":"リストから削除",
//tl/notification.js
"lang_notf_new":"件の新しい通知",
//tl/speech.js
"lang_speech_refresh":"音声読み上げ設定を更新しました。",
//tl/src.js
"lang_src_ts":"時系列",
"lang_src_people":"人がトゥート",
//tl/tag.js
"lang_tags_always":"常に",
"lang_tags_realtime":"実況",
"lang_tags_tagunpin":"{{tag}}をよく使うタグから削除",
"lang_tags_unrealtime":"実況解除",
"lang_tags_tagwarn":"{{tag}}がない場合自動で補完されます。",
//tl/tl.js
"lang_tl_media":"メディア",
"lang_tl_reconnect":"Streamingに再接続しました",
//ui/img.js
"lang_img_DLDone":"ダウンロード先:",
//ui/layout.js
"lang_layout_gotop":"一番上へ。アイコンが赤のときはストリーミングに接続できていません。F5等で再読込をお試し下さい。",
"lang_layout_thisacct":"このアカウントの{{notf}}",
"lang_layout_delthis":"このカラムを削除",
"lang_layout_setthis":"このカラムの設定",
"lang_layout_mediafil":"メディアフィルター",
"lang_layout_linkana":"リンク解析",
"lang_layout_linkanades":"リンクの解析を切り替え",
"lang_layout_tts":"読み上げ",
"lang_layout_reconnect":"ストリーミング再接続",
"lang_layout_headercolor":"TLヘッダーカラー",
"lang_layout_nodata":"[ここにトゥートはありません。]<br>F5/⌘+Rで再読込できます。",
"lang_layout_dm":"ダイレクトメッセージ",
"lang_layout_webviewmode":"WebView優先",
"lang_excluded":"除外する通知",
"lang_layout_excludingbt":"BT表示(OFF/BT除外/BTのみ)",
"lang_layout_leftFold":"左へ重ねる",
"lang_layout_leftUnfold":"右へ出す",
//ui/sort.js
"lang_sort_gothis":"このカラムへ",
"lang_sort_remthis":"このカラムを削除",
//ui/spotify.js
"lang_spotify_img":"アルバムアートワークを添付します。",
"lang_spotify_imgno":"アルバムアートワークを添付しません。",
"lang_spotify_acct":"アカウント連携をしてください。",
"lang_spotify_np":"NowPlaying文書を更新しました。",
"lang_setting_npprovide":"NowPlayingのソースを{{set}}に設定しました。",
//userdata/his-data.js
"lang_hisdata_frcreq":"Mastodon 2.4.3~が必要です",
"lang_hisdata_frcwarn":"非フォローだけど絡みがある時に表示されます。",
"lang_hisdata_taketime":"30秒から数分かかります",
"lang_hisdata_notonmisskey":"このシステムはMisskeyにはありません。",
"lang_hisdata_key":"このユーザーの信頼性は{{set}}によって示されています",
//userdata/showOnTL.js
"lang_showontl_movetxt":"このアカウントは移行しています",
"lang_showontl_movebtn":"移行先を見る",
"lang_showontl_botacct":"botアカウント",
"lang_showontl_followed":"フォローされています",
"lang_showontl_notf":"通知",
"lang_showontl_domain":"ドメイン",
"lang_showontl_listwarn":"リストに追加するためにはフォローが必要です。",
"lang_showontl_verified":"このユーザーの所持するWebサイトであると証明されています。",
//parse
"lang_parse_mentioned":"が返信しました",
"lang_parse_faved":"がお気に入り登録しました",
"lang_parse_bted":"がブーストしました",
"lang_parse_btedsimple":"がブースト",
"lang_parse_polled":"のアンケート",
"lang_parse_notftime":"通知された時間",
"lang_parse_cwshow":"見る",
"lang_parse_fulltext":"以下全文",
"lang_parse_autofold":"自動折り畳み",
"lang_parse_more":"続き...",
"lang_parse_url":"URL解析",
"lang_parse_tagTL":"{{tag}}のタイムライン",
"lang_parse_tagtoot":"{{tag}}でトゥート",
"lang_parse_tagpin":"{{tag}}をよく使うタグへ",
"lang_parse_public":"公開",
"lang_parse_unlisted":"未収載",
"lang_parse_private":"非公開",
"lang_parse_direct":"ダイレクト",
"lang_parse_clickcopy":"クリックして本文をコピー",
"lang_parse_clickcopyurl":"クリックしてトゥートURLをコピー",
"lang_parse_trans":"このトゥートを日本語に翻訳",
"lang_parse_replyto":"このトゥートに返信",
"lang_parse_bt":"このトゥートをブースト",
"lang_parse_fav":"このトゥートをお気に入り登録",
"lang_parse_quote":"このトゥートを引用",
"lang_parse_del":"このトゥートを削除",
"lang_parse_pin":"このトゥートをピン留め",
"lang_parse_det":"詳細(メインアカウント経由)",
"lang_parse_redraft":"このトゥートを削除して再編集",
"lang_parse_followed":"フォローされました。",
"lang_parse_clientop":"クライアント処理",
"lang_parse_clienttxt":"に対する処理を選択してください。",
"lang_parse_clientno":"何もしない",
"lang_parse_clientemp":"強調表示/解除",
"lang_parse_clientmute":"ミュート",
"lang_parse_mute":"ミュートします。設定から解除できます。",
"lang_parse_voted":"投票済みです",
"lang_parse_vote":"投票",
"lang_parse_unvoted":"結果だけ見る",
"lang_parse_endedvote":"終了済み",
"lang_parse_thread":"会話を表示",
//misskey
"lang_misskeyparse_renote":"再投稿",
"lang_misskeyparse_renoteqt":"引用",
"lang_misskeyparse_reaction":"リアクション",
"lang_misskeyparse_tagnostr":"タグTLはストリーミング非対応です。",
"lang_misskeyparse_listnostr":"リストTLはストリーミング非対応です。",
"lang_misskeyparse_home":"ホーム",
"lang_misskeyparse_followers":"フォロワー",
"lang_misskeyparse_specified":"ユーザー指定",
"lang_misskeyparse_qt":"MisskeyのRenote(引用モード)中:Ctrl+Shift+Cでクリア",
"lang_misskeyparse_renoted":"がRepost",
"lang_misskeyparse_quoted":"が引用",
"lang_misskeyparse_reacted":"がリアクション",
//setting
"lang_setting_time":"時間設定を{{set}}に設定しました。",
"lang_setting_theme":"テーマ設定を{{set}}に設定しました。",
"lang_setting_nsfw":"画像表示設定を{{set}}に設定しました。",
"lang_setting_cw":"テキスト表示設定を{{set}}に設定しました。",
"lang_setting_cwtext":"デフォルトの警告文を「{{set}}」に設定しました。",
"lang_setting_cws":"標準でCW:{{set}}",
"lang_setting_rp":"リプライ数表示:{{set}}",
"lang_setting_vis":"デフォルトの公開設定を{{set}}に設定しました。",
"lang_setting_popup":"ポップアップお知らせを{{set}}に設定しました。",
"lang_setting_off":"オフ",
"lang_setting_s":"秒",
"lang_setting_box":"デフォルトでのボックスの挙動を{{set}}に設定しました。",
"lang_setting_gif":"アイコンアニメーション再生を{{set}}に設定しました。",
"lang_setting_selt":"{{set1}}行以上または{{set2}}文字以上でテキストを隠します。",
"lang_setting_autocw":"{{set1}}行以上または{{set2}}文字以上で警告を表示します。",
"lang_setting_width":"横幅最低を{{set}}pxに設定しました。",
"lang_setting_fixwidth":"TweetDeckの横幅を{{set}}pxに設定しました。",
"lang_setting_img":"画像投稿後の設定を「{{set}}」に設定しました。",
"lang_setting_font":"フォントを{{set}}に設定しました。",
"lang_setting_default":"デフォルト",
"lang_setting_size":"フォントサイズを{{set}}pxに設定しました。",
"lang_setting_imgheight":"画像高さを{{set}}pxに設定しました。",
"lang_setting_ticker":"#InstanceTicker使用を{{set}}に設定しました。",
"lang_setting_animation":"アニメーションを{{set}}に設定しました。",
"lang_setting_tag":"タグの取得範囲を「{{set}}」に設定しました。",
"lang_setting_boxConfirm":"投稿ボックスを{{set}}",
"lang_setting_ul":"独自ロケール設定を{{set}}に設定しました。",
"lang_setting_notf":"ネイティブ通知を{{set}}に設定しました。",
"lang_setting_quote":"引用形式を{{set}}に設定しました。",
"lang_setting_via":"via表示を{{set}}に設定しました。",
"lang_setting_mov":"アクションボタン非表示を{{set}}に設定しました。",
"lang_setting_setasread":"通知カラム存在時新着非表示を{{set}}に設定しました。",
"lang_setting_main":"起動時・投稿時のアカウントを{{set}}に設定しました。",
"lang_setting_sec":"セカンダリートゥートボタン:{{set}}",
"lang_setting_ksref":"キーボードショートカットが更新されました。",
"lang_setting_nomuting":"ミュートしているクライアントはありません。",
"lang_setting_notftest":"通知テスト",
"lang_setting_notftestprof":"アイコンはあなたのアカウントのものです。",
"lang_setting_exportwarn":"重要なデータのみエクスポートされます。エクスポートされたデータは外部に公開しないでください。全ての認証データが含まれています。",
"lang_setting_importwarn":"全てのデータがリセットされます。"
}

View File

@@ -1,4 +1,4 @@
{ var lang={
"language": "crwdns1960:0crwdne1960:0", "language": "crwdns1960:0crwdne1960:0",
"lang_toot": "crwdns1962:0crwdne1962:0", "lang_toot": "crwdns1962:0crwdne1962:0",
"lang_there": "crwdns1964:0crwdne1964:0", "lang_there": "crwdns1964:0crwdne1964:0",
@@ -16,27 +16,8 @@
"lang_back": "crwdns1988:0crwdne1988:0", "lang_back": "crwdns1988:0crwdne1988:0",
"lang_set": "crwdns1990:0crwdne1990:0", "lang_set": "crwdns1990:0crwdne1990:0",
"lang_langadd": "crwdns2364:0crwdne2364:0", "lang_langadd": "crwdns2364:0crwdne2364:0",
"lang_time_prefixAgo": null,
"lang_time_prefixFromNow": null,
"lang_time_suffixAgo": null,
"lang_time_suffixFromNow": null,
"lang_time_inPast": null,
"lang_time_seconds": "crwdns2948:0%dcrwdne2948:0",
"lang_time_minute": "crwdns2950:0crwdne2950:0",
"lang_time_minutes": "crwdns2952:0%dcrwdne2952:0",
"lang_time_hour": "crwdns2954:0crwdne2954:0",
"lang_time_hours": "crwdns2956:0%dcrwdne2956:0",
"lang_time_day": "crwdns2958:0crwdne2958:0",
"lang_time_days": "crwdns2960:0%dcrwdne2960:0",
"lang_time_month": "crwdns2962:0crwdne2962:0",
"lang_time_months": "crwdns2964:0%dcrwdne2964:0",
"lang_time_year": "crwdns2966:0crwdne2966:0",
"lang_time_years": "crwdns2968:0%dcrwdne2968:0",
"lang_version_usever": "crwdns1994:0{{ver}}crwdne1994:0", "lang_version_usever": "crwdns1994:0{{ver}}crwdne1994:0",
"lang_version_skipver": "crwdns1996:0crwdne1996:0", "lang_version_skipver": "crwdns1996:0crwdne1996:0",
"lang_version_platform": "crwdns2562:0crwdne2562:0",
"lang_version_platform_linux": "crwdns2564:0crwdne2564:0",
"lang_version_platform_mac": "crwdns2566:0crwdne2566:0",
"lang_login_noauth": "crwdns1998:0crwdne1998:0", "lang_login_noauth": "crwdns1998:0crwdne1998:0",
"lang_manager_info": "crwdns2000:0crwdne2000:0", "lang_manager_info": "crwdns2000:0crwdne2000:0",
"lang_manager_refresh": "crwdns2002:0crwdne2002:0", "lang_manager_refresh": "crwdns2002:0crwdne2002:0",
@@ -47,15 +28,12 @@
"lang_manager_def": "crwdns2012:0crwdne2012:0", "lang_manager_def": "crwdns2012:0crwdne2012:0",
"lang_manager_none": "crwdns2014:0crwdne2014:0", "lang_manager_none": "crwdns2014:0crwdne2014:0",
"lang_manager_godev": "crwdns2016:0crwdne2016:0", "lang_manager_godev": "crwdns2016:0crwdne2016:0",
"lang_manager_logout": "crwdns2568:0crwdne2568:0",
"lang_bbmd_misskey": "crwdns2018:0crwdne2018:0", "lang_bbmd_misskey": "crwdns2018:0crwdne2018:0",
"lang_emoji_get": "crwdns2020:0crwdne2020:0", "lang_emoji_get": "crwdns2020:0crwdne2020:0",
"lang_emoji_custom": "crwdns2022:0crwdne2022:0", "lang_emoji_custom": "crwdns2022:0crwdne2022:0",
"lang_defaultemojis_text": "crwdns2388:0{{cat}}crwdne2388:0", "lang_defaultemojis_text": "crwdns2388:0{{cat}}crwdne2388:0",
"lang_postimg_previewdis": "crwdns2024:0crwdne2024:0", "lang_postimg_previewdis": "crwdns2024:0crwdne2024:0",
"lang_postimg_aftupload": "crwdns2026:0crwdne2026:0", "lang_postimg_aftupload": "crwdns2026:0crwdne2026:0",
"lang_postimg_failupload": "crwdns2594:0crwdne2594:0",
"lang_postimg_delete": "crwdns2528:0crwdne2528:0",
"lang_post_tagTL": "crwdns2028:0crwdne2028:0", "lang_post_tagTL": "crwdns2028:0crwdne2028:0",
"lang_post_tagVis": "crwdns2030:0crwdne2030:0", "lang_post_tagVis": "crwdns2030:0crwdne2030:0",
"lang_post_cwtitle": "crwdns2032:0crwdne2032:0", "lang_post_cwtitle": "crwdns2032:0crwdne2032:0",
@@ -71,14 +49,11 @@
"lang_status_unblock": "crwdns2052:0crwdne2052:0", "lang_status_unblock": "crwdns2052:0crwdne2052:0",
"lang_status_mute": "crwdns2054:0crwdne2054:0", "lang_status_mute": "crwdns2054:0crwdne2054:0",
"lang_status_unmute": "crwdns2056:0crwdne2056:0", "lang_status_unmute": "crwdns2056:0crwdne2056:0",
"lang_status_redraftTitle": "crwdns2570:0crwdne2570:0",
"lang_status_redraft": "crwdns2058:0crwdne2058:0", "lang_status_redraft": "crwdns2058:0crwdne2058:0",
"lang_status_emphas": "crwdns2060:0crwdne2060:0", "lang_status_emphas": "crwdns2060:0crwdne2060:0",
"lang_status_unemphas": "crwdns2062:0crwdne2062:0", "lang_status_unemphas": "crwdns2062:0crwdne2062:0",
"lang_status_unendorse": "crwdns2064:0crwdne2064:0", "lang_status_unendorse": "crwdns2064:0crwdne2064:0",
"lang_status_endorse": "crwdns2066:0crwdne2066:0", "lang_status_endorse": "crwdns2066:0crwdne2066:0",
"lang_status_followers": "crwdns2970:0crwdne2970:0",
"lang_status_active": "crwdns2972:0crwdne2972:0",
"lang_suggest_nodata": "crwdns2068:0crwdne2068:0", "lang_suggest_nodata": "crwdns2068:0crwdne2068:0",
"lang_usetxtbox_reply": "crwdns2070:0crwdne2070:0", "lang_usetxtbox_reply": "crwdns2070:0crwdne2070:0",
"lang_cards_check": "crwdns2072:0crwdne2072:0", "lang_cards_check": "crwdns2072:0crwdne2072:0",
@@ -95,7 +70,6 @@
"lang_list_users": "crwdns2094:0crwdne2094:0", "lang_list_users": "crwdns2094:0crwdne2094:0",
"lang_list_nouser": "crwdns2096:0crwdne2096:0", "lang_list_nouser": "crwdns2096:0crwdne2096:0",
"lang_list_add": "crwdns2098:0crwdne2098:0", "lang_list_add": "crwdns2098:0crwdne2098:0",
"lang_list_add_misskey": "crwdns2530:0crwdne2530:0",
"lang_list_remove": "crwdns2100:0crwdne2100:0", "lang_list_remove": "crwdns2100:0crwdne2100:0",
"lang_notf_new": "crwdns2102:0crwdne2102:0", "lang_notf_new": "crwdns2102:0crwdne2102:0",
"lang_speech_refresh": "crwdns2348:0crwdne2348:0", "lang_speech_refresh": "crwdns2348:0crwdne2348:0",
@@ -104,13 +78,9 @@
"lang_tags_always": "crwdns2110:0crwdne2110:0", "lang_tags_always": "crwdns2110:0crwdne2110:0",
"lang_tags_realtime": "crwdns2112:0crwdne2112:0", "lang_tags_realtime": "crwdns2112:0crwdne2112:0",
"lang_tags_tagunpin": "crwdns2114:0{{tag}}crwdne2114:0", "lang_tags_tagunpin": "crwdns2114:0{{tag}}crwdne2114:0",
"lang_tags_unrealtime": "crwdns2532:0crwdne2532:0", "lang_tags_tagwarn": "crwdns2116:0{{tag}}crwdne2116:0",
"lang_tags_tagwarn": "crwdns2534:0{{tag}}crwdnd2534:0{{tag}}crwdne2534:0",
"lang_tl_media": "crwdns2118:0crwdne2118:0", "lang_tl_media": "crwdns2118:0crwdne2118:0",
"lang_tl_reconnect": "crwdns2120:0crwdne2120:0", "lang_tl_reconnect": "crwdns2120:0crwdne2120:0",
"lang_tl_postmarkers_title": "crwdns2974:0crwdne2974:0",
"lang_tl_postmarkers": "crwdns2976:0crwdne2976:0",
"lang_img_DLDone": "crwdns2572:0crwdne2572:0",
"lang_layout_gotop": "crwdns2122:0crwdne2122:0", "lang_layout_gotop": "crwdns2122:0crwdne2122:0",
"lang_layout_thisacct": "crwdns2124:0{{notf}}crwdne2124:0", "lang_layout_thisacct": "crwdns2124:0{{notf}}crwdne2124:0",
"lang_layout_delthis": "crwdns2126:0crwdne2126:0", "lang_layout_delthis": "crwdns2126:0crwdne2126:0",
@@ -119,20 +89,13 @@
"lang_layout_linkana": "crwdns2132:0crwdne2132:0", "lang_layout_linkana": "crwdns2132:0crwdne2132:0",
"lang_layout_linkanades": "crwdns2134:0crwdne2134:0", "lang_layout_linkanades": "crwdns2134:0crwdne2134:0",
"lang_layout_tts": "crwdns2136:0crwdne2136:0", "lang_layout_tts": "crwdns2136:0crwdne2136:0",
"lang_layout_reconnect": "crwdns2596:0crwdne2596:0", "lang_layout_reconnect": "crwdns2138:0crwdne2138:0",
"lang_layout_headercolor": "crwdns2140:0crwdne2140:0", "lang_layout_headercolor": "crwdns2140:0crwdne2140:0",
"lang_layout_nodata": "crwdns2142:0crwdne2142:0", "lang_layout_nodata": "crwdns2142:0crwdne2142:0",
"lang_layout_dm": "crwdns2144:0crwdne2144:0", "lang_layout_dm": "crwdns2144:0crwdne2144:0",
"lang_layout_webviewmode": "crwdns2146:0crwdne2146:0", "lang_layout_webviewmode": "crwdns2146:0crwdne2146:0",
"lang_excluded": "crwdns2368:0crwdne2368:0", "lang_excluded": "crwdns2368:0crwdne2368:0",
"lang_layout_excludingbt": "crwdns2390:0crwdne2390:0", "lang_layout_excludingbt": "crwdns2390:0crwdne2390:0",
"lang_layout_leftFold": "crwdns2536:0crwdne2536:0",
"lang_layout_leftUnfold": "crwdns2538:0crwdne2538:0",
"lang_layout_deleteColumn": "crwdns2574:0crwdne2574:0",
"lang_layout_deleteColumnDesc": "crwdns2576:0crwdne2576:0",
"lang_layout_unread": "crwdns2978:0crwdne2978:0",
"lang_sort_gothis": "crwdns2540:0crwdne2540:0",
"lang_sort_remthis": "crwdns2542:0crwdne2542:0",
"lang_spotify_img": "crwdns2148:0crwdne2148:0", "lang_spotify_img": "crwdns2148:0crwdne2148:0",
"lang_spotify_imgno": "crwdns2150:0crwdne2150:0", "lang_spotify_imgno": "crwdns2150:0crwdne2150:0",
"lang_spotify_acct": "crwdns2152:0crwdne2152:0", "lang_spotify_acct": "crwdns2152:0crwdne2152:0",
@@ -142,7 +105,6 @@
"lang_hisdata_frcwarn": "crwdns2158:0crwdne2158:0", "lang_hisdata_frcwarn": "crwdns2158:0crwdne2158:0",
"lang_hisdata_taketime": "crwdns2160:0crwdne2160:0", "lang_hisdata_taketime": "crwdns2160:0crwdne2160:0",
"lang_hisdata_notonmisskey": "crwdns2162:0crwdne2162:0", "lang_hisdata_notonmisskey": "crwdns2162:0crwdne2162:0",
"lang_hisdata_key": "crwdns2544:0{{set}}crwdne2544:0",
"lang_showontl_movetxt": "crwdns2164:0crwdne2164:0", "lang_showontl_movetxt": "crwdns2164:0crwdne2164:0",
"lang_showontl_movebtn": "crwdns2166:0crwdne2166:0", "lang_showontl_movebtn": "crwdns2166:0crwdne2166:0",
"lang_showontl_botacct": "crwdns2168:0[bot]crwdne2168:0", "lang_showontl_botacct": "crwdns2168:0[bot]crwdne2168:0",
@@ -150,12 +112,10 @@
"lang_showontl_notf": "crwdns2172:0crwdne2172:0", "lang_showontl_notf": "crwdns2172:0crwdne2172:0",
"lang_showontl_domain": "crwdns2174:0crwdne2174:0", "lang_showontl_domain": "crwdns2174:0crwdne2174:0",
"lang_showontl_listwarn": "crwdns2176:0crwdne2176:0", "lang_showontl_listwarn": "crwdns2176:0crwdne2176:0",
"lang_showontl_verified": "crwdns2546:0crwdne2546:0",
"lang_parse_mentioned": "crwdns2178:0crwdne2178:0", "lang_parse_mentioned": "crwdns2178:0crwdne2178:0",
"lang_parse_faved": "crwdns2180:0crwdne2180:0", "lang_parse_faved": "crwdns2180:0crwdne2180:0",
"lang_parse_bted": "crwdns2182:0crwdne2182:0", "lang_parse_bted": "crwdns2182:0crwdne2182:0",
"lang_parse_btedsimple": "crwdns2184:0crwdne2184:0", "lang_parse_btedsimple": "crwdns2184:0crwdne2184:0",
"lang_parse_polled": "crwdns2548:0crwdne2548:0",
"lang_parse_notftime": "crwdns2186:0crwdne2186:0", "lang_parse_notftime": "crwdns2186:0crwdne2186:0",
"lang_parse_cwshow": "crwdns2188:0crwdne2188:0", "lang_parse_cwshow": "crwdns2188:0crwdne2188:0",
"lang_parse_fulltext": "crwdns2190:0crwdne2190:0", "lang_parse_fulltext": "crwdns2190:0crwdne2190:0",
@@ -188,13 +148,9 @@
"lang_parse_clientmute": "crwdns2244:0crwdne2244:0", "lang_parse_clientmute": "crwdns2244:0crwdne2244:0",
"lang_parse_mute": "crwdns2246:0crwdne2246:0", "lang_parse_mute": "crwdns2246:0crwdne2246:0",
"lang_parse_voted": "crwdns2392:0crwdne2392:0", "lang_parse_voted": "crwdns2392:0crwdne2392:0",
"lang_parse_vote": "crwdns2550:0crwdne2550:0", "lang_parse_vote": "crwdns2394:0crwdne2394:0",
"lang_parse_unvoted": "crwdns2396:0crwdne2396:0", "lang_parse_unvoted": "crwdns2396:0crwdne2396:0",
"lang_parse_endedvote": "crwdns2398:0crwdne2398:0", "lang_parse_endedvote": "crwdns2398:0crwdne2398:0",
"lang_parse_thread": "crwdns2552:0crwdne2552:0",
"lang_parse_unknown": "crwdns2578:0crwdne2578:0",
"lang_parse_nsfw": "crwdns2980:0crwdne2980:0",
"lang_parse_notffilter": "crwdns2582:0crwdne2582:0",
"lang_misskeyparse_renote": "crwdns2248:0crwdne2248:0", "lang_misskeyparse_renote": "crwdns2248:0crwdne2248:0",
"lang_misskeyparse_renoteqt": "crwdns2250:0crwdne2250:0", "lang_misskeyparse_renoteqt": "crwdns2250:0crwdne2250:0",
"lang_misskeyparse_reaction": "crwdns2252:0crwdne2252:0", "lang_misskeyparse_reaction": "crwdns2252:0crwdne2252:0",
@@ -209,7 +165,7 @@
"lang_misskeyparse_reacted": "crwdns2372:0crwdne2372:0", "lang_misskeyparse_reacted": "crwdns2372:0crwdne2372:0",
"lang_setting_time": "crwdns2272:0{{set}}crwdne2272:0", "lang_setting_time": "crwdns2272:0{{set}}crwdne2272:0",
"lang_setting_theme": "crwdns2274:0{{set}}crwdne2274:0", "lang_setting_theme": "crwdns2274:0{{set}}crwdne2274:0",
"lang_setting_nsfw": "crwdns2982:0{{set}}crwdne2982:0", "lang_setting_nsfw": "crwdns2276:0{{set}}crwdne2276:0",
"lang_setting_cw": "crwdns2278:0{{set}}crwdne2278:0", "lang_setting_cw": "crwdns2278:0{{set}}crwdne2278:0",
"lang_setting_cwtext": "crwdns2280:0{{set}}crwdne2280:0", "lang_setting_cwtext": "crwdns2280:0{{set}}crwdne2280:0",
"lang_setting_cws": "crwdns2282:0{{set}}crwdne2282:0", "lang_setting_cws": "crwdns2282:0{{set}}crwdne2282:0",

View File

@@ -9,11 +9,22 @@ var idata = {
"kirishima.cloud_public":"パブリックタイムライン", "kirishima.cloud_public":"パブリックタイムライン",
"minohdon.jp":"instance", "minohdon.jp":"instance",
"minohdon.jp_name":"箕面どん", "minohdon.jp_name":"箕面どん",
"fedibird.com":"instance", "minohdon.jp_letters":"500",
"fedibird.com_name":"Fedibird", "minohdon.jp_bbcode":"disabled",
"fedibird.com_quote":"enabled", "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":"instance",
"mastodos.com_name":"マストどす", "mastodos.com_name":"マストどす",
"mastodos.com_letters":"500",
"mastodos.com_bbcode":"disabled",
"mastodos.com_markdown":"disabled",
"mastodos.com_glitch":"disabled",
"dev.kirishima.cloud":"hidden", "dev.kirishima.cloud":"hidden",
"dev.kirishima.cloud_name":"アスタルテ(Dev)", "dev.kirishima.cloud_name":"アスタルテ(Dev)",
"dev.kirishima.cloud_letters":"6229", "dev.kirishima.cloud_letters":"6229",
@@ -22,8 +33,15 @@ var idata = {
"dev.kirishima.cloud_glitch":"enabled", "dev.kirishima.cloud_glitch":"enabled",
"mstdn.y-zu.org":"instance", "mstdn.y-zu.org":"instance",
"mstdn.y-zu.org_name":"Yづドン(Y-zuDon)", "mstdn.y-zu.org_name":"Yづドン(Y-zuDon)",
"mstdn.y-zu.org_letters":"500",
"mstdn.y-zu.org_bbcode":"disabled",
"mstdn.y-zu.org_markdown":"enabled",
"mstdn.y-zu.org_glitch":"disabled",
"imastodon.net":"instance", "imastodon.net":"instance",
"imastodon.net_name":"im@stodon", "imastodon.net_name":"im@stodon",
"imastodon.net_letters":"500",
"imastodon.net_bbcode":"disabled",
"imastodon.net_markdown":"disabled",
"imastodon.net_home":"オフィス", "imastodon.net_home":"オフィス",
"imastodon.net_local":"楽屋", "imastodon.net_local":"楽屋",
"imastodon.net_notification":"ホワイトボード", "imastodon.net_notification":"ホワイトボード",
@@ -32,6 +50,12 @@ var idata = {
"imastodon.net_fav":"の頭にティンときたようです", "imastodon.net_fav":"の頭にティンときたようです",
"imastodon.net_bt":":「わかるわ」", "imastodon.net_bt":":「わかるわ」",
"imastodon.net_follow":"名刺をいただきました", "imastodon.net_follow":"名刺をいただきました",
"imastodon.net_glitch":"disabled",
"mstdn.osaka":"instance",
"mstdn.osaka_name":"大阪丼",
"mstdn.osaka_letters":"500",
"mstdn.osaka_bbcode":"disabled",
"mstdn.osaka_markdown":"disabled",
"mstdn.osaka_home":"ウチ", "mstdn.osaka_home":"ウチ",
"mstdn.osaka_local":"近所", "mstdn.osaka_local":"近所",
"mstdn.osaka_notification":"あめちゃん", "mstdn.osaka_notification":"あめちゃん",
@@ -40,9 +64,12 @@ var idata = {
"mstdn.osaka_fav":"がええやん言いました", "mstdn.osaka_fav":"がええやん言いました",
"mstdn.osaka_bt":"がしばいた", "mstdn.osaka_bt":"がしばいた",
"mstdn.osaka_follow":"ツルまれました", "mstdn.osaka_follow":"ツルまれました",
"mstdn.osaka_glitch":"disabled",
"mstdn.kemono-friends.info":"instance", "mstdn.kemono-friends.info":"instance",
"mstdn.kemono-friends.info_name":"ますとどんちほー", "mstdn.kemono-friends.info_name":"ますとどんちほー",
"mstdn.kemono-friends.info_letters":"1024", "mstdn.kemono-friends.info_letters":"1024",
"mstdn.kemono-friends.info_bbcode":"disabled",
"mstdn.kemono-friends.info_markdown":"disabled",
"mstdn.kemono-friends.info_home":"なわばり", "mstdn.kemono-friends.info_home":"なわばり",
"mstdn.kemono-friends.info_local":"ますとどんちほー", "mstdn.kemono-friends.info_local":"ますとどんちほー",
"mstdn.kemono-friends.info_notification":"ねえねえ!", "mstdn.kemono-friends.info_notification":"ねえねえ!",
@@ -50,22 +77,28 @@ var idata = {
"mstdn.kemono-friends.info_post":"がおー!", "mstdn.kemono-friends.info_post":"がおー!",
"mstdn.kemono-friends.info_fav":":「すごーい」", "mstdn.kemono-friends.info_fav":":「すごーい」",
"mstdn.kemono-friends.info_bt":":「たーのしー」", "mstdn.kemono-friends.info_bt":":「たーのしー」",
"mstdn.kemono-friends.info_glitch":"disabled",
"itabashi.0j0.jp":"instance", "itabashi.0j0.jp":"instance",
"itabashi.0j0.jp_name":"板橋丼", "itabashi.0j0.jp_name":"板橋丼",
"itabashi.0j0.jp_letters":"1024", "itabashi.0j0.jp_letters":"1024",
"itabashi.0j0.jp_quote":"enabled", "itabashi.0j0.jp_bbcode":"disabled",
"itabashi.0j0.jp_markdown":"disabled",
"itabashi.0j0.jp_glitch":"disabled",
"dtp-mstdn.jp":"instance", "dtp-mstdn.jp":"instance",
"dtp-mstdn.jp_name": "dtp-mstdn.jp", "dtp-mstdn.jp_name":"DTP鯖",
"dtp-mstdn.jp_quote":"enabled", "dtp-mstdn.jp_letters":"500",
"misskey.io": "misskey", "dtp-mstdn.jp_bbcode":"disabled",
"misskey.io_name": "misskey.io", "dtp-mstdn.jp_markdown":"disabled",
"misskey.io_letters": "1000", "dtp-mstdn.jp_glitch":"disabled",
"misskey.io_bbcode": "disabled", "misskey.xyz":"misskey",
"misskey.io_markdown": "enabled", "misskey.xyz_name":"misskey.xyz",
"misskey.io_public": "Global", "misskey.xyz_letters":"1000",
"misskey.io_post": "Post", "misskey.xyz_bbcode":"disabled",
"misskey.io_fav": " reacted your post.", "misskey.xyz_markdown":"enabled",
"misskey.io_bt": " reposted your post.", "misskey.xyz_public":"Global",
"misskey.xyz_post":"Post",
"misskey.xyz_fav":" reacted your post.",
"misskey.xyz_bt":" reposted your post.",
"misskey.dev":"misskey", "misskey.dev":"misskey",
"misskey.dev_name":"misskey.dev", "misskey.dev_name":"misskey.dev",
"misskey.dev_letters":"1024", "misskey.dev_letters":"1024",
@@ -78,11 +111,16 @@ var idata = {
"precure.ml":"instance", "precure.ml":"instance",
"precure.ml_name":"キュアスタ!", "precure.ml_name":"キュアスタ!",
"precure.ml_letters":"1024", "precure.ml_letters":"1024",
"precure.ml_bbcode":"disabled",
"precure.ml_markdown":"disabled",
"precure.ml_post":"キュア!", "precure.ml_post":"キュア!",
"odakyu.app_quote":"enabled", "precure.ml_glitch":"disabled",
"nitiasa.com_quote":"enabled", "best-friends.chat":"instance",
"biwakodon.com_quote":"enabled", "best-friends.chat_name":"Best Friends",
"comm.cx_quote":"enabled" "best-friends.chat_letters":"500",
"best-friends.chat_bbcode":"disabled",
"best-friends.chat_markdown":"disabled",
"best-friends.chat_glitch":"disabled",
}; };
localStorage.setItem("instance", JSON.stringify(idata)); localStorage.setItem("instance", JSON.stringify(idata));

View File

@@ -3,7 +3,6 @@
//アスタルテ判定初期化 //アスタルテ判定初期化
localStorage.removeItem("kirishima") localStorage.removeItem("kirishima")
localStorage.removeItem("quoters")
localStorage.removeItem("imas") localStorage.removeItem("imas")
localStorage.removeItem("image"); localStorage.removeItem("image");
localStorage.removeItem("stable") localStorage.removeItem("stable")
@@ -15,6 +14,23 @@ function ck() {
} }
var domainz = localStorage.getItem("domain_0"); var domainz = localStorage.getItem("domain_0");
var at = localStorage.getItem("acct_0_at"); var at = localStorage.getItem("acct_0_at");
var oldat = localStorage.getItem(domainz + "_at");
if(oldat){
console.log("Move to New Account Management System")
var multi = localStorage.getItem("multi");
if (!multi) {
var acctlen=1;
} else {
var obj = JSON.parse(multi);
var acctlen=obj.length;
}
for(i=0;acctlen>i;i++){
var domain = localStorage.getItem("domain_"+i);
var oldat = localStorage.getItem(domain + "_at");
var newat = localStorage.setItem("acct_"+ i + "_at",oldat);
localStorage.removeItem(domain + "_at");
}
}
//コード受信 //コード受信
if(location.search){ if(location.search){
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/); var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
@@ -27,8 +43,6 @@ function ck() {
} }
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
if(!multi || multi=="[]"){ if(!multi || multi=="[]"){
var date = new Date();
localStorage.setItem("showSupportMe", date.getMonth() + 2)
location.href="acct.html?mode=first&code=true" location.href="acct.html?mode=first&code=true"
}else{ }else{
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
@@ -41,16 +55,12 @@ function ck() {
if (obj[0].domain) { if (obj[0].domain) {
$("#tl").show(); $("#tl").show();
ticker(); ticker();
multiSelector(false); multiSelector();
verck(ver); verck(ver);
$(".stw").show()
$("#something-wrong img").attr("src", "../../img/thinking.svg")
} }
} }
} }
ck(); ck();
//ログインポップアップ //ログインポップアップ
function login(url) { function login(url) {
if($('#linux:checked').val()=="on"){ if($('#linux:checked').val()=="on"){
@@ -73,6 +83,7 @@ function login(url) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
var auth = "https://" + url + "/oauth/authorize?client_id=" + json[ var auth = "https://" + url + "/oauth/authorize?client_id=" + json[
"client_id"] + "&client_secret=" + json["client_secret"] + "client_id"] + "&client_secret=" + json["client_secret"] +
"&response_type=code&redirect_uri="+red+"&scope=read+write+follow"; "&response_type=code&redirect_uri="+red+"&scope=read+write+follow";
@@ -81,11 +92,15 @@ function login(url) {
localStorage.setItem("client_secret", json["client_secret"]); localStorage.setItem("client_secret", json["client_secret"]);
$("#auth").show(); $("#auth").show();
$("#masara").hide(); $("#masara").hide();
postMessage(["openUrl", auth], "*") const { shell } = require('electron');
shell.openExternal(auth);
if($('#linux:checked').val()=="on"){ if($('#linux:checked').val()=="on"){
}else{ }else{
postMessage(["sendSinmpleIpc", "quit"], "*") var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('quit', 'go');
} }
} }
} }
@@ -162,9 +177,11 @@ function getdata() {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json.error) { if (json.error) {
console.error("Error:" + json.error); console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 }) Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
5000);
return; return;
} }
var avatar=json["avatar"]; var avatar=json["avatar"];
@@ -182,6 +199,7 @@ function getdata() {
vis: json["source"]["privacy"] vis: json["source"]["privacy"]
}]; }];
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
console.log(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
localStorage.setItem("name_" + acct_id, json["display_name"]); localStorage.setItem("name_" + acct_id, json["display_name"]);
localStorage.setItem("user_" + acct_id, json["acct"]); localStorage.setItem("user_" + acct_id, json["acct"]);
@@ -209,9 +227,11 @@ function getdataAdv(domain, at) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json.error) { if (json.error) {
console.error("Error:" + json.error); console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 }) Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
5000);
return; return;
} }
var avatar=json["avatar"]; var avatar=json["avatar"];
@@ -241,6 +261,7 @@ function getdataAdv(domain, at) {
localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]); localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, avatar); localStorage.setItem("prof_" + target, avatar);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
location.href="index.html"; location.href="index.html";
@@ -255,6 +276,7 @@ function refresh(target, loadskip) {
} }
var start = "https://" + obj[target].domain + var start = "https://" + obj[target].domain +
"/api/v1/accounts/verify_credentials"; "/api/v1/accounts/verify_credentials";
console.log(start);
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -267,9 +289,11 @@ function refresh(target, loadskip) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json.error) { if (json.error) {
console.error("Error:" + json.error); console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 }) Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
5000);
return; return;
} }
var avatar=json["avatar"]; var avatar=json["avatar"];
@@ -289,13 +313,10 @@ function refresh(target, loadskip) {
localStorage.setItem("name_" + target, json["display_name"]); localStorage.setItem("name_" + target, json["display_name"]);
localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]); localStorage.setItem("user-id_" + target, json["id"]);
console.log("user-id_" + target+":"+json["id"])
console.log(localStorage.getItem("user-id_"+target));
localStorage.setItem("prof_" + target, avatar); localStorage.setItem("prof_" + target, avatar);
localStorage.setItem("follow_" + target, json["following_count"]); localStorage.setItem("follow_" + target, json["following_count"]);
if(json["source"]["sensitive"]){
localStorage.setItem("nsfw_" + target, "true");
}else{
localStorage.removeItem("nsfw_" + target);
}
obj[target] = ref; obj[target] = ref;
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
@@ -320,6 +341,7 @@ function ckdb(acct_id) {
localStorage.removeItem("followlocale_" + acct_id); localStorage.removeItem("followlocale_" + acct_id);
if(domain=="kirishima.cloud"){ if(domain=="kirishima.cloud"){
localStorage.setItem("kirishima", "true"); localStorage.setItem("kirishima", "true");
$("#ranking-btn").show();
}else if(domain=="imastodon.net"){ }else if(domain=="imastodon.net"){
localStorage.setItem("imas", "true"); localStorage.setItem("imas", "true");
$(".imasonly").show(); $(".imasonly").show();
@@ -327,13 +349,8 @@ function ckdb(acct_id) {
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var bbcode = domain + "_bbcode"; var bbcode = domain + "_bbcode";
var letters = domain + "_letters"; var letters = domain + "_letters";
var quoteMarker = domain + "_quote";
if(localStorage.getItem("instance")){ if(localStorage.getItem("instance")){
var json=JSON.parse(localStorage.getItem("instance")); var json=JSON.parse(localStorage.getItem("instance"));
if (json[quoteMarker] == "enabled") {
localStorage.setItem("quoters", "true");
localStorage.setItem("quote_" + acct_id, "true");
}
if (json[bbcode]) { if (json[bbcode]) {
if (json[bbcode] == "enabled") { if (json[bbcode] == "enabled") {
localStorage.setItem("bb_" + acct_id, "true"); localStorage.setItem("bb_" + acct_id, "true");
@@ -357,6 +374,7 @@ function ckdb(acct_id) {
localStorage.removeItem("bb_" + acct_id); localStorage.removeItem("bb_" + acct_id);
} }
if(json[domain + "_home"]){ if(json[domain + "_home"]){
console.log("unique name:"+json[domain + "_home"]);
localStorage.setItem("home_" + acct_id, json[domain + "_home"]); localStorage.setItem("home_" + acct_id, json[domain + "_home"]);
} }
if(json[domain + "_local"]){ if(json[domain + "_local"]){
@@ -393,8 +411,8 @@ function ckdb(acct_id) {
}).catch(function(error) { }).catch(function(error) {
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json.error) { if (json.error) {
console.error(json.error);
return; return;
} }
if(json){ if(json){
@@ -403,8 +421,6 @@ function ckdb(acct_id) {
} }
if(json["urls"]["streaming_api"]){ if(json["urls"]["streaming_api"]){
localStorage.setItem("streaming_" + acct_id, json["urls"]["streaming_api"]); localStorage.setItem("streaming_" + acct_id, json["urls"]["streaming_api"]);
}else{
localStorage.removeItem("streaming_" + acct_id);
} }
} }
}); });
@@ -416,7 +432,7 @@ function ckdb(acct_id) {
} }
//アカウントを選択…を実装 //アカウントを選択…を実装
function multiSelector(parseC) { function multiSelector() {
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
if (!multi) { if (!multi) {
var obj = []; var obj = [];
@@ -430,13 +446,9 @@ function multiSelector(parseC) {
var last = localStorage.getItem("main"); var last = localStorage.getItem("main");
}else if(localStorage.getItem("last-use")){ }else if(localStorage.getItem("last-use")){
var last = localStorage.getItem("last-use"); var last = localStorage.getItem("last-use");
if (last == "webview" || last == "noauth") {
last = "0";
}
}else{ }else{
var last = "0"; var last=0;
} }
last = last + "";
var sel; var sel;
if(obj.length<1){ if(obj.length<1){
$("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>'); $("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>');
@@ -445,7 +457,7 @@ function multiSelector(parseC) {
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var acct = obj[key]; var acct = obj[key];
var list = key * 1 + 1; var list = key * 1 + 1;
if (key+"" === last) { if (key == last) {
sel = "selected"; sel = "selected";
var domain = acct.domain; var domain = acct.domain;
localStorage.setItem("domain_" + key, domain); localStorage.setItem("domain_" + key, domain);
@@ -463,11 +475,13 @@ function multiSelector(parseC) {
$("#local-button").removeClass("hide") $("#local-button").removeClass("hide")
} }
var profimg = acct.prof; var profimg = acct.prof;
//localStorage.setItem("prof_" + key, profimg); localStorage.setItem("prof_" + key, profimg);
console.log(profimg);
if(!profimg){ if(!profimg){
profimg="../../img/missing.svg"; profimg="../../img/missing.svg";
} }
$("#acct-sel-prof").attr("src",profimg); $("#acct-sel-prof").attr("src",profimg);
console.log(domain);
if(domain){ if(domain){
var cc="("+domain+")"; var cc="("+domain+")";
}else{ }else{
@@ -501,12 +515,9 @@ function multiSelector(parseC) {
}); });
$("#src-acct-sel").append('<option value="tootsearch">Tootsearch</option>'); $("#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>'); $("#add-acct-sel").append('<option value="noauth">'+lang.lang_login_noauth+'</option><option value="webview">Twitter</option>');
$("#dir-acct-sel").append('<option value="noauth">' + lang.lang_login_noauth + '</option>');
}
$('select').formSelect();
if(!parseC){
parseColumn(null, true);
} }
$('select').material_select('update');
parseColumn();
} }
//バージョンエンコ //バージョンエンコ
@@ -527,11 +538,13 @@ function ticker() {
'content-type': 'application/json' 'content-type': 'application/json'
}, },
}).then(function(response) { }).then(function(response) {
return response.json(); return response.json();
}).catch(function(error) { }).catch(function(error) {
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
if (json.error) {
return;
}
if(json){ if(json){
localStorage.setItem("ticker", JSON.stringify(json)); localStorage.setItem("ticker", JSON.stringify(json));
} }

View File

@@ -32,7 +32,7 @@ function load() {
} }
} }
console.table(obj); console.log(obj);
var templete; var templete;
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var acct = obj[key]; var acct = obj[key];
@@ -99,6 +99,7 @@ function data(domain) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (!json.error) { if (!json.error) {
$("#ins-name").text(json.name); $("#ins-name").text(json.name);
$("#ins-upd").text(date(json.checked_at, 'full')); $("#ins-upd").text(date(json.checked_at, 'full'));
@@ -109,8 +110,6 @@ function data(domain) {
$("#ins-per").text(json.uptime * 100); $("#ins-per").text(json.uptime * 100);
$("#ins-user").text(json.users); $("#ins-user").text(json.users);
$("#ins-ver").text(json.version); $("#ins-ver").text(json.version);
} else {
console.error(json.error);
} }
}); });
var start = "https://" + domain +"/api/v1/instance"; var start = "https://" + domain +"/api/v1/instance";
@@ -125,6 +124,7 @@ function data(domain) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (!json.error) { if (!json.error) {
$("#ins-title").text(json.title); $("#ins-title").text(json.title);
$("#ins-desc").html(json.description); $("#ins-desc").html(json.description);
@@ -135,8 +135,6 @@ function data(domain) {
$("#ins-prof").attr('src', json.thumbnail); $("#ins-prof").attr('src', json.thumbnail);
$("#ins-admin").text(escapeHTML(json.contact_account.display_name)+"("+json.contact_account.acct+")"); $("#ins-admin").text(escapeHTML(json.contact_account.display_name)+"("+json.contact_account.acct+")");
$("#ins-admin").attr("href","index.html?mode=user&code="+json.contact_account.username+"@"+domain); $("#ins-admin").attr("href","index.html?mode=user&code="+json.contact_account.username+"@"+domain);
} else {
console.error(json.error);
} }
}); });
} }
@@ -146,22 +144,13 @@ function multiDel(target) {
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
//削除確認ダイアログ //削除確認ダイアログ
Swal.fire({ if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] +lang.lang_manager_confirm)) {
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) { Object.keys(obj).forEach(function(key) {
var nk=key-1; var nk=key-1;
//公開範囲(差分のみ) //公開範囲(差分のみ)
if(key>=target){ if(key>=target){
var oldvis=localStorage.getItem("vis-memory-"+key); var oldvis=localStorage.getItem("vis-memory-"+key);
console.log(oldvis);
if(oldvis){ if(oldvis){
localStorage.setItem("vis-memory-"+nk,oldvis); localStorage.setItem("vis-memory-"+nk,oldvis);
} }
@@ -186,6 +175,7 @@ function multiDel(target) {
}); });
//とりあえず消す //とりあえず消す
obj.splice(target, 1); obj.splice(target, 1);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
load(); load();
@@ -215,28 +205,18 @@ function multiDel(target) {
localStorage.setItem("column", json); localStorage.setItem("column", json);
} }
})
} }
function multiDel2(target) { function multiDel2(target) {
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
Swal.fire({ if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] +lang.lang_manager_confirm)) {
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); obj.splice(target, 1);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
if(key>=target){ if(key>=target){
var oldvis=localStorage.getItem("vis-memory-"+key); var oldvis=localStorage.getItem("vis-memory-"+key);
console.log(oldvis);
if(oldvis){ if(oldvis){
var nk=key-1; var nk=key-1;
localStorage.setItem("vis-memory-"+nk,oldvis); localStorage.setItem("vis-memory-"+nk,oldvis);
@@ -275,7 +255,6 @@ function multiDel2(target) {
localStorage.setItem("column", json); localStorage.setItem("column", json);
load(); load();
} }
})
} }
//サポートインスタンス //サポートインスタンス
@@ -286,6 +265,10 @@ function support() {
templete = '<a onclick="login(\'' + key + templete = '<a onclick="login(\'' + key +
'\')" class="collection-item pointer transparent">' + idata[key + "_name"] + '(' + key + ')</a>'; '\')" class="collection-item pointer transparent">' + idata[key + "_name"] + '(' + key + ')</a>';
$("#support").append(templete); $("#support").append(templete);
}else if (instance == "misskey") {
templete = '<a onclick="misskeyLogin(\'' + key +
'\')" class="collection-item pointer transparent">' + idata[key + "_name"] + '(' + key + ')</a>';
$("#support").append(templete);
} }
}); });
} }
@@ -299,12 +282,12 @@ function login(url) {
misskeyLogin(url); misskeyLogin(url);
return; return;
} }
$("#compt").hide()
if($('#linux:checked').val()=="on"){ if($('#linux:checked').val()=="on"){
var red = "urn:ietf:wg:oauth:2.0:oob" var red = "https://thedesk.top/hello.html"
}else{ }else{
var red = 'thedesk://manager'; var red = 'thedesk://manager';
} }
console.log(red);
localStorage.setItem("redirect", red); localStorage.setItem("redirect", red);
var start = "https://" + url + "/api/v1/apps"; var start = "https://" + url + "/api/v1/apps";
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
@@ -320,6 +303,7 @@ function login(url) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
localStorage.setItem("msky","false"); localStorage.setItem("msky","false");
var auth = "https://" + url + "/oauth/authorize?client_id=" + json[ var auth = "https://" + url + "/oauth/authorize?client_id=" + json[
"client_id"] + "&client_secret=" + json["client_secret"] + "client_id"] + "&client_secret=" + json["client_secret"] +
@@ -328,84 +312,20 @@ function login(url) {
localStorage.setItem("client_id", json["client_id"]); localStorage.setItem("client_id", json["client_id"]);
localStorage.setItem("client_secret", json["client_secret"]); localStorage.setItem("client_secret", json["client_secret"]);
$("#auth").show(); $("#auth").show();
versionChecker(url)
$("#add").hide(); $("#add").hide();
postMessage(["openUrl", auth], "*") const {
shell
} = require('electron');
shell.openExternal(auth);
var electron = require("electron");
var ipc = electron.ipcRenderer;
if ($('#linux:checked').val() == "on") {} else { if ($('#linux:checked').val() == "on") {} else {
postMessage(["sendSinmpleIpc", "quit"], "*") ipc.send('quit', 'go');
} }
} }
} }
}
function versionChecker(url) {
var start = "https://" + url + "/api/v1/instance";
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var version = json.version
if (version) {
var reg = version.match(/^[0-9]\.[0-9]\.[0-9]/u);
if (reg) {
reg = reg[0]
versionCompat(url, reg, json.title, version)
}
}
});
}
function versionCompat(url, ver, title, real) {
$("#compt-instance").text(title)
$("#compt-ver").text(real)
if(~real.indexOf("compatible")){
$("#compt-warn").show()
}else{
$("#compt-warn").hide()
}
$("#compt-list").html("")
var start = "../../source/version.json";
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var complete = false
var ct = 0
Object.keys(json).forEach(function (key) {
var data = json[key];
if (data) {
if (key != ver && !complete) {
for (var i = 0; i < data.length; i++) {
var e = ""
if (i == 0) {
e = "(" + key + ")"
}
$("#compt-list").append('<li>' + data[i] + e + '</li>')
ct++;
e = ""
}
} else if (!complete) {
complete = true
}
}
var lastkey = key
});
if (lang.language == "ja" && ct > 0) {
$("#compt").show()
}
});
} }
//これが後のMisskeyである。 //これが後のMisskeyである。
@@ -443,7 +363,8 @@ function misskeyLogin(url) {
"reaction-read", "reaction-read",
"reaction-write", "reaction-write",
"vote-read", "vote-read",
"vote-write", "vote-write"
/*
"read:account", "read:account",
"write:account", "write:account",
"read:drive", "read:drive",
@@ -464,11 +385,13 @@ function misskeyLogin(url) {
"read:reactions", "read:reactions",
"write:reactions", "write:reactions",
"write:votes" "write:votes"
*/
] ]
})); }));
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
misskeyAuth(url, json.secret) misskeyAuth(url, json.secret)
} }
} }
@@ -490,13 +413,17 @@ function misskeyAuth(url, mkc) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
const {
shell
} = require('electron');
var token=json.token; var token=json.token;
$("#auth").show(); $("#auth").show();
$("#code").val(token); $("#code").val(token);
$("#add").hide(); $("#add").hide();
$("#misskey").prop("checked", false); $("#misskey").prop("checked", false);
localStorage.setItem("domain_tmp",url); localStorage.setItem("domain_tmp",url);
postMessage(["openUrl", json.url], "*") shell.openExternal(json.url);
} }
} }
} }
@@ -520,6 +447,7 @@ function code(code) {
} }
var url = localStorage.getItem("domain_tmp"); var url = localStorage.getItem("domain_tmp");
localStorage.removeItem("domain_tmp"); localStorage.removeItem("domain_tmp");
console.log(localStorage.getItem("msky"));
if(localStorage.getItem("msky")=="true"){ if(localStorage.getItem("msky")=="true"){
var start = "https://"+url+"/api/auth/session/userkey"; var start = "https://"+url+"/api/auth/session/userkey";
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
@@ -534,6 +462,7 @@ function code(code) {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
var i = sha256(json.accessToken + localStorage.getItem("mkc")); var i = sha256(json.accessToken + localStorage.getItem("mkc"));
console.log(json);
var avatar=json["user"]["avatarUrl"]; var avatar=json["user"]["avatarUrl"];
var priv="public"; var priv="public";
var add = { var add = {
@@ -555,6 +484,7 @@ function code(code) {
localStorage.setItem("user_" + target, json["user"]["username"]); localStorage.setItem("user_" + target, json["user"]["username"]);
localStorage.setItem("user-id_" + target, json["user"]["id"]); localStorage.setItem("user-id_" + target, json["user"]["id"]);
localStorage.setItem("prof_" + target, avatar); localStorage.setItem("prof_" + target, avatar);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
if($("body").hasClass("first")){ if($("body").hasClass("first")){
@@ -575,7 +505,7 @@ function code(code) {
httpreq.responseType = "json"; httpreq.responseType = "json";
httpreq.send(JSON.stringify({ httpreq.send(JSON.stringify({
grant_type: "authorization_code", grant_type: "authorization_code",
redirect_uri: "urn:ietf:wg:oauth:2.0:oob", redirect_uri: "https://thedesk.top/hello.html",
client_id: id, client_id: id,
client_secret: secret, client_secret: secret,
code: code code: code
@@ -583,6 +513,7 @@ function code(code) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
if (json["access_token"]) { if (json["access_token"]) {
$("#auth").hide(); $("#auth").hide();
$("#add").show(); $("#add").show();
@@ -608,9 +539,11 @@ function getdata(domain, at) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json.error) { if (json.error) {
console.error("Error:" + json.error); console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 }) Materialize.toast(lang.lang_fatalerroroccured+"Error:" + escapeHTML(json.error),
5000);
return; return;
} }
var avatar=json["avatar"]; var avatar=json["avatar"];
@@ -641,6 +574,7 @@ function getdata(domain, at) {
localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]); localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, avatar); localStorage.setItem("prof_" + target, avatar);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
if($("body").hasClass("first")){ if($("body").hasClass("first")){
@@ -660,6 +594,7 @@ function refresh(target) {
} }
var start = "https://" + obj[target].domain + var start = "https://" + obj[target].domain +
"/api/v1/accounts/verify_credentials"; "/api/v1/accounts/verify_credentials";
console.log(start);
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -672,9 +607,11 @@ function refresh(target) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json.error) { if (json.error) {
console.error("Error:" + json.error); console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 }) Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
5000);
return; return;
} }
var avatar=json["avatar"]; var avatar=json["avatar"];
@@ -694,12 +631,9 @@ function refresh(target) {
localStorage.setItem("name_" + target, json["display_name"]); localStorage.setItem("name_" + target, json["display_name"]);
localStorage.setItem("user_" + target, json["acct"]); localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]); localStorage.setItem("user-id_" + target, json["id"]);
console.log("user-id_" + target+":"+json["id"])
console.log(localStorage.getItem("user-id_"+target));
localStorage.setItem("prof_" + target, avatar); localStorage.setItem("prof_" + target, avatar);
if(json["source"]["sensitive"]){
localStorage.setItem("nsfw_" + target, "true");
}else{
localStorage.removeItem("nsfw_" + target);
}
obj[target] = ref; obj[target] = ref;
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
@@ -720,6 +654,7 @@ function misskeyRefresh(obj, target, url) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
return; return;
var avatar=json["user"]["avatarURL"]; var avatar=json["user"]["avatarURL"];
var priv="public"; var priv="public";
@@ -740,6 +675,7 @@ function misskeyRefresh(obj, target, url) {
localStorage.setItem("user_" + target, json["user"]["username"]); localStorage.setItem("user_" + target, json["user"]["username"]);
localStorage.setItem("user-id_" + target, json["user"]["id"]); localStorage.setItem("user-id_" + target, json["user"]["id"]);
localStorage.setItem("prof_" + target, avatar); localStorage.setItem("prof_" + target, avatar);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("multi", json); localStorage.setItem("multi", json);
load(); load();
@@ -760,6 +696,7 @@ function multisel() {
var templete; var templete;
var last = localStorage.getItem("main"); var last = localStorage.getItem("main");
var sel; var sel;
console.log(obj.length)
if(obj.length<1){ if(obj.length<1){
$("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>'); $("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>');
$("#add-acct-sel").html('<option value="noauth">'+lang.lang_login_noauth+'</option>'); $("#add-acct-sel").html('<option value="noauth">'+lang.lang_login_noauth+'</option>');
@@ -787,12 +724,12 @@ function multisel() {
}); });
} }
$('select').formSelect(); $('select').material_select('update');
} }
function mainacct(){ function mainacct(){
var acct_id = $("#main-acct-sel").val(); var acct_id = $("#main-acct-sel").val();
localStorage.setItem("main", acct_id); localStorage.setItem("main", acct_id);
M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 }) Materialize.toast(lang.lang_manager_mainAcct, 3000);
} }
function colorpicker(key){ function colorpicker(key){
temp= temp=
@@ -873,7 +810,9 @@ input.addEventListener("focus", function () {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (!json.error) { if (!json.error) {
var urls = "Suggest:"; var urls = "Suggest:";
Object.keys(json.instances).forEach(function(key) { Object.keys(json.instances).forEach(function(key) {
var url = json.instances[key]; var url = json.instances[key];
@@ -881,8 +820,6 @@ input.addEventListener("focus", function () {
'\')" class="pointer">' +escapeHTML(url.name) + '</a> '; '\')" class="pointer">' +escapeHTML(url.name) + '</a> ';
}); });
$("#ins-suggest").html(urls); $("#ins-suggest").html(urls);
} else {
console.error(json.error);
} }
}); });
} }
@@ -895,7 +832,3 @@ input.addEventListener("focus", function () {
input.addEventListener("blur", function() { input.addEventListener("blur", function() {
window.clearInterval(timer); window.clearInterval(timer);
}, false); }, false);
//acctで未読マーカーは要らない
function asReadEnd() {
postMessage(["asReadComp", ""], "*")
}

View File

@@ -10,21 +10,18 @@ $(document).on('click', 'a', e => {
if(url){ if(url){
urls = url.match(/https?:\/\/(.+)/); urls = url.match(/https?:\/\/(.+)/);
//トゥートのURLぽかったら //トゥートのURLぽかったら
toot = url.match(/https:\/\/([^+_]+)\/@([a-zA-Z0-9_]+)\/([0-9]+)/); toot = url.match(/https:\/\/([a-zA-Z0-9.-]+)\/@([a-zA-Z0-9_]+)\/([0-9]+)/);
if(!toot){
//Pleroma対策
toot = url.match(/https:\/\/([^+_]+)\/users\/([a-zA-Z0-9_]+)\/statuses\/([0-9]+)/);
}
//タグのURLぽかったら //タグのURLぽかったら
var tags=[]; var tags=[];
tags = url.match( tags = url.match(
/https:\/\/([^+_]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#]+)/ /https:\/\/([-a-zA-Z0-9@.]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#]+)/
); );
//メンションっぽかったら //メンションっぽかったら
var ats=[]; var ats=[];
ats = url.match( ats = url.match(
/https:\/\/([^+_]+)\/@([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#@]+)/ /https:\/\/([-a-zA-Z0-9.]+)\/@([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#@]+)/
); );
console.log(toot);
if(toot){ if(toot){
if(toot[1]){ if(toot[1]){
var acct_id=$a.parent().attr("data-acct"); var acct_id=$a.parent().attr("data-acct");
@@ -45,13 +42,18 @@ $(document).on('click', 'a', e => {
tl('tag',decodeURI(tags[2]),acct_id,'add') tl('tag',decodeURI(tags[2]),acct_id,'add')
} }
}else if(ats){ }else if(ats){
console.log(ats);
if(ats[2]){ if(ats[2]){
//Quesdon判定 //Quesdon判定
if(!~ats[2].indexOf("@")){ if(!~ats[2].indexOf("@")){
udgEx(url, "main"); udgEx(ats[2]+"@"+ats[1],"main");
return false return false
}else{ }else{
postMessage(["openUrl", url], "*") const {
shell
} = require('electron');
shell.openExternal(url);
} }
@@ -60,11 +62,12 @@ $(document).on('click', 'a', e => {
//hrefがhttp/httpsならブラウザで //hrefがhttp/httpsならブラウザで
if(urls){ if(urls){
if (urls[0]) { if (urls[0]) {
const {shell} = require('electron');
if(~url.indexOf("thedeks.top")){ if(~url.indexOf("thedeks.top")){
//alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot."); //alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot.");
url="https://thedesk.top"; url="https://thedesk.top";
} }
postMessage(["openUrl", url], "*") shell.openExternal(url);
} else { } else {
location.href = url; location.href = url;
@@ -78,6 +81,39 @@ $(document).on('click', 'a', e => {
}); });
//よく使うライブラリ //よく使うライブラリ
/*マルチバイト用切り出し*/
$.isSurrogatePear = function(upper, lower) {
return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <= 0xDFFF;
};
$.mb_strlen = function(str) {
var ret = 0;
for (var i = 0; i < str.length; i++, ret++) {
var upper = str.charCodeAt(i);
var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0;
if ($.isSurrogatePear(upper, lower)) {
i++;
}
}
return ret;
};
$.mb_substr = function(str, begin, end) {
var ret = '';
for (var i = 0, len = 0; i < str.length; i++, len++) {
var upper = str.charCodeAt(i);
var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0;
var s = '';
if ($.isSurrogatePear(upper, lower)) {
i++;
s = String.fromCharCode(upper, lower);
} else {
s = String.fromCharCode(upper);
}
if (begin <= len && len < end) {
ret += s;
}
}
return ret;
};
//コピー //コピー
function execCopy(string){ function execCopy(string){
@@ -87,10 +123,16 @@ function execCopy(string) {
var result = document.execCommand('copy'); var result = document.execCommand('copy');
return result; return result;
} }
//Nano
function nano(){
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('nano', "");
}
function progshow(e) { function progshow(e) {
if (e.lengthComputable) { if (e.lengthComputable) {
var percent = e.loaded / e.total; var percent = e.loaded / e.total;
console.log("Progress: " + percent * 100); console.log(percent * 100);
$("#imgsel").hide(); $("#imgsel").hide();
if(percent<1){ if(percent<1){
$("#imgup").text(Math.floor(percent*100)+"%"); $("#imgup").text(Math.floor(percent*100)+"%");
@@ -99,6 +141,30 @@ 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(){ function opendev(){
var webview = document.getElementById("webview"); var webview = document.getElementById("webview");
webview.openDevTools(); webview.openDevTools();
@@ -108,16 +174,20 @@ function opendev() {
}); });
*/ */
} }
var soundFile
var webviewDom = document.getElementById('webview');
const {
shell
} = require('electron');
webviewDom.addEventListener('new-window', function(e) {
shell.openExternal(e.url);
});
function playSound() { function playSound() {
window.AudioContext = window.AudioContext || window.webkitAudioContext; window.AudioContext = window.AudioContext || window.webkitAudioContext;
if(soundFile){
soundFile.stop()
}
context = new AudioContext(); context = new AudioContext();
context.createBufferSource().start(0); context.createBufferSource().start(0);
context.decodeAudioData(request.response, function (buf) { context.decodeAudioData(request.response, function (buf) {
//console.log("Playing:" , source) console.log(source)
source.buffer = buf; source.buffer = buf;
source.loop = false; source.loop = false;
}); });
@@ -125,72 +195,7 @@ function playSound() {
volumeControl = context.createGain(); volumeControl = context.createGain();
source.connect(volumeControl); source.connect(volumeControl);
volumeControl.connect(context.destination); volumeControl.connect(context.destination);
var cvol = localStorage.getItem("customVol") volumeControl.gain.value=0.8
if (cvol) { console.log(volumeControl)
vol = cvol
}else{
vol = 0.8
}
volumeControl.gain.value = vol
source.start(0); source.start(0);
soundFile = source;
function newFunction() {
var source;
return source;
}
}
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") {
var exp = exportSettingsCore()
postMessage(["exportSettingsCoreComplete", [e.data[1], exp]], "*")
} else if (e.data[0] == "importSettingsCore") {
importSettingsCore(e.data[1])
}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] == "asRead") {
asRead()
} else if (e.data[0] == "asReadEnd") {
asReadEnd()
} else if (e.data[0] == "alert") {
Swal.fire({
type: 'info',
title: e.data[1]
})
}
} }

View File

@@ -1 +1,3 @@
//jQuery読む //jQuery読む
window.jQuery = window.$ = require('./js/common/jquery.js');
var Hammer = require('./js/common/hammer.min.js');

View File

@@ -1,4 +1,6 @@
document.title="TheDesk" //jQuery読む
window.jQuery = window.$ = require('../../js/common/jquery.js');
var Hammer = require('../../js/common/hammer.min.js');
$.strip_tags = function(str, allowed) { $.strip_tags = function(str, allowed) {
if(!str){ if(!str){
return ""; return "";
@@ -87,7 +89,27 @@ function formattimeutc(date) {
} }
return escapeHTML(str); return escapeHTML(str);
} }
postMessage(["sendSinmpleIpc", "custom-css-request"], "*") var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('custom-css-request', "");
ipc.on('custom-css-response', function (event, arg) {
if(arg==""){ return false; }
var styleNode = document.createElement("style");
styleNode.setAttribute("type","text/css")
var content = document.createTextNode(arg)
styleNode.append(content)
document.getElementsByTagName("head")[0].append(styleNode)
})
ipc.on('theme-css-response', function (event, arg) {
if(arg==""){ return false; }
var styleNode = document.createElement("style");
styleNode.setAttribute("type","text/css")
var content = document.createTextNode(arg)
styleNode.append(content)
document.getElementsByTagName("head")[0].append(styleNode)
})
function makeCID(){ function makeCID(){
return randomStr(8)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(12); return randomStr(8)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(12);
} }
@@ -101,13 +123,15 @@ function randomStr(l) {
} }
return r; return r;
} }
function rgbToHex(color) { function rgbToHex(color)
{
// HEXに変換したものを代入する変数 // HEXに変換したものを代入する変数
var hex = ''; var hex = '';
// 第1引数がHEXのとき変換処理は必要ないのでそのままreturn // 第1引数がHEXのとき変換処理は必要ないのでそのままreturn
// IE8の場合はjQueryのcss()関数でHEXを返すので除外 // IE8の場合はjQueryのcss()関数でHEXを返すので除外
if (color.match(/^#[a-f\d]{3}$|^#[a-f\d]{6}$/i)) { if (color.match(/^#[a-f\d]{3}$|^#[a-f\d]{6}$/i))
{
return color; return color;
} }
@@ -115,7 +139,8 @@ function rgbToHex(color) {
var regex = color.match(/^rgb\(([0-9.]+),\s*([0-9.]+),\s*([0-9.]+)\)$/); var regex = color.match(/^rgb\(([0-9.]+),\s*([0-9.]+),\s*([0-9.]+)\)$/);
// 正規表現でマッチしたとき // 正規表現でマッチしたとき
if (regex) { if (regex)
{
var rgb = var rgb =
[ [
// RGBからHEXへ変換 // RGBからHEXへ変換
@@ -124,10 +149,12 @@ function rgbToHex(color) {
parseInt(regex[3]).toString(16) parseInt(regex[3]).toString(16)
]; ];
for (var i = 0; i < rgb.length; ++i) { for (var i = 0; i < rgb.length; ++i)
{
// rgb(1,1,1)のようなときHEXに変換すると1桁になる // rgb(1,1,1)のようなときHEXに変換すると1桁になる
// 1桁のときは前に0を足す // 1桁のときは前に0を足す
if (rgb[i].length == 1) { if (rgb[i].length == 1)
{
rgb[i] = '0' + rgb[i]; rgb[i] = '0' + rgb[i];
} }
hex += rgb[i]; hex += rgb[i];
@@ -138,62 +165,3 @@ function rgbToHex(color) {
console.error(color+':第1引数はRGB形式で入力'); console.error(color+':第1引数はRGB形式で入力');
} }
/*マルチバイト用切り出し*/
$.isSurrogatePear = function (upper, lower) {
return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <= 0xDFFF;
};
$.mb_strlen = function (str) {
var ret = 0;
for (var i = 0; i < str.length; i++ , ret++) {
var upper = str.charCodeAt(i);
var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0;
if ($.isSurrogatePear(upper, lower)) {
i++;
}
}
return ret;
};
$.mb_substr = function (str, begin, end) {
var ret = '';
for (var i = 0, len = 0; i < str.length; i++ , len++) {
var upper = str.charCodeAt(i);
var lower = str.length > (i + 1) ? str.charCodeAt(i + 1) : 0;
var s = '';
if ($.isSurrogatePear(upper, lower)) {
i++;
s = String.fromCharCode(upper, lower);
} else {
s = String.fromCharCode(upper);
}
if (begin <= len && len < end) {
ret += s;
}
}
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");

View File

@@ -14,6 +14,7 @@ function tl(data) {
$("#notice_nano").text(cap(type, data) + " TL(" + localStorage.getItem( $("#notice_nano").text(cap(type, data) + " TL(" + localStorage.getItem(
"user_" + acct_id) + "@" + domain + ")"); "user_" + acct_id) + "@" + domain + ")");
var start = "https://" + domain + "/api/v1/timelines/" + com(type, data); var start = "https://" + domain + "/api/v1/timelines/" + com(type, data);
console.log(start);
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -45,12 +46,17 @@ function tl(data) {
var start = "wss://" + domain + var start = "wss://" + domain +
"/api/v1/streaming/?stream=hashtag&tag=" + data +"&access_token=" + at; "/api/v1/streaming/?stream=hashtag&tag=" + data +"&access_token=" + at;
} }
console.log(start);
var wsid = websocket.length; var wsid = websocket.length;
websocket[wsid] = new WebSocket(start); websocket[wsid] = new WebSocket(start);
websocket[wsid].onopen = function(mess) { websocket[wsid].onopen = function(mess) {
console.log(tlid + ":Connect Streaming API:" + type);
console.log(mess);
$("#notice_icon_" + tlid).removeClass("red-text"); $("#notice_icon_" + tlid).removeClass("red-text");
} }
websocket[wsid].onmessage = function(mess) { websocket[wsid].onmessage = function(mess) {
console.log(tlid + ":Receive Streaming API:");
console.log(websocket[wsid]);
var typeA = JSON.parse(mess.data).event; var typeA = JSON.parse(mess.data).event;
if (typeA == "delete") { if (typeA == "delete") {
var obj = JSON.parse(mess.data).payload; var obj = JSON.parse(mess.data).payload;
@@ -58,11 +64,12 @@ function tl(data) {
$("[toot-id=" + JSON.parse(mess.data).payload + "]").remove(); $("[toot-id=" + JSON.parse(mess.data).payload + "]").remove();
} else if (typeA == "update") { } else if (typeA == "update") {
var obj = JSON.parse(JSON.parse(mess.data).payload); var obj = JSON.parse(JSON.parse(mess.data).payload);
console.log(obj);
var templete = parse([obj], '', acct_id, tlid); var templete = parse([obj], '', acct_id, tlid);
$("#timeline_nano").html(templete); $("#timeline_nano").html(templete);
} }
websocket[wsid].onclose = function(mess) { websocket[wsid].onclose = function(mess) {
console.error("Close Streaming API:" + type); console.log("Close Streaming API:" + type);
} }
} }
websocket[wsid].onerror = function(error) { websocket[wsid].onerror = function(error) {

View File

@@ -1,180 +0,0 @@
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] == "exportSettingsCoreComplete") {
ipc.send('export', 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] == "customCSSRequest") {
ipc.send('custom-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);
} else if (e.data[0] == "asReadComp") {
ipc.send('sendMarkersComplete', 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], args[5]]))
})
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, arg) {
postMessage(["exportSettingsCore", arg], "*")
});
ipc.on('exportAllComplete', function (event, arg) {
postMessage(["alert", "Complete"], "*")
});
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], "*")
})
ipc.on('asRead', function (event, arg) {
postMessage(["asRead", ""], "*")
})
ipc.on('asReadEnd', function (event, arg) {
postMessage(["asReadEnd", ""], "*")
})
var webviewDom = document.getElementById('webview');
if (webviewDom) {
webviewDom.addEventListener('new-window', function (e) {
shell.openExternal(e.url);
});
}

View File

@@ -1,533 +0,0 @@
/*! 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));

View File

@@ -0,0 +1,51 @@
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
}
})
})
}

View File

@@ -40,7 +40,7 @@ function mdCheck() {
$("#trendtag").html(""); $("#trendtag").html("");
} }
if(localStorage.getItem("mode_" + domain)=="misskey"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
M.toast({ html: lang.lang_bbmd_misskey, displayLength: 5000 }) Materialize.toast(lang.lang_bbmd_misskey, 5000);
} }
if(idata[domain+"_letters"]){ if(idata[domain+"_letters"]){
$("#textarea").attr("data-length", idata[domain+"_letters"]) $("#textarea").attr("data-length", idata[domain+"_letters"])

View File

@@ -10,20 +10,13 @@ function emojiToggle(reaction) {
if (!selin) { if (!selin) {
selin = 0; selin = 0;
} }
localStorage.setItem("cursor", selin);
if ($("#emoji").hasClass("hide")) { if ($("#emoji").hasClass("hide")) {
$("#emoji").removeClass("hide") $("#emoji").removeClass("hide")
$("#right-side").show() $("#right-side").show()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "calc(100% - 300px)")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1 + 300
} else {
width = 600
}
$("#post-box").css("width", width + "px")
$("#suggest").html(""); $("#suggest").html("");
if (!localStorage.getItem("emojis_" + acct_id)) { if (!localStorage.getItem("emoji_" + acct_id)) {
var html = var html =
'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">' + lang.lang_emoji_get + '</button>'; '<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">' + lang.lang_emoji_get + '</button>';
$("#emoji-list").html(html); $("#emoji-list").html(html);
@@ -32,18 +25,9 @@ function emojiToggle(reaction) {
} }
} else { } else {
$("#poll").addClass("hide") $("#poll").addClass("hide")
$("#right-side").hide()
$("#right-side").css("width", "300px")
$("#emoji").addClass("hide") $("#emoji").addClass("hide")
$("#suggest").html(""); $("#suggest").html("");
$("#left-side").css("width", "100%") $("#right-side").hide()
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width + "px")
} }
@@ -69,56 +53,15 @@ function emojiGet(parse, started) {
}).then(function (json) { }).then(function (json) {
if (parse == "true") { if (parse == "true") {
$('#emoji-list').text('Parsing...'); $('#emoji-list').text('Parsing...');
var md = {
"categorized": {},
"uncategorized": []
};
var if_categorized = false
Object.keys(json).forEach(function (key) {
var emoji = json[key];
if (emoji.visible_in_picker) {
var listed = true
} else {
var listed = false
}
if (emoji.category) {
var cat = emoji.category
if (!md["categorized"][cat]) {
md["categorized"][cat] = []
}
md["categorized"][cat].push({
"shortcode": emoji.shortcode,
"url": emoji.url,
"listed": listed
})
if_categorized = true
} else {
md["uncategorized"].push({
"shortcode": emoji.shortcode,
"url": emoji.url,
"listed": listed
})
}
});
console.log(md)
//絵文字をマストドン公式と同順にソート //絵文字をマストドン公式と同順にソート
md["uncategorized"].sort(function (a, b) { json.sort(function (a, b) {
if (a.shortcode < b.shortcode) return -1; if (a.shortcode < b.shortcode) return -1;
if (a.shortcode > b.shortcode) return 1; if (a.shortcode > b.shortcode) return 1;
return 0; return 0;
}); });
Object.keys(md["categorized"]).forEach(function (key) { localStorage.setItem("emoji_" + acct_id, JSON.stringify(json));
md["categorized"][key].sort(function (a, b) {
if (a.shortcode < b.shortcode) return -1;
if (a.shortcode > b.shortcode) return 1;
return 0;
});
});
md["if_categorized"] = if_categorized
localStorage.setItem("emojis_" + acct_id, JSON.stringify(md));
} else { } else {
localStorage.setItem("emojis_" + acct_id, JSON.stringify(md)); localStorage.setItem("emoji_" + acct_id, JSON.stringify(json));
} }
localStorage.setItem("emojiseek", 0); localStorage.setItem("emojiseek", 0);
if (!started) { if (!started) {
@@ -144,27 +87,25 @@ function emojiGet(parse, started) {
localStorage.setItem("emojiReaction_" + acct_id, "disabled"); localStorage.setItem("emojiReaction_" + acct_id, "disabled");
} }
var emojis = json.emojis; var emojis = json.emojis;
var md = {"uncategorized": []} var md = [];
Object.keys(emojis).forEach(function (key) { Object.keys(emojis).forEach(function (key) {
var emoji = emojis[key]; var emoji = emojis[key];
md["uncategorized"].push({ md.push({
"shortcode": emoji.name, "shortcode": emoji.name,
"url": emoji.url, "url": emoji.url
"listed": true
}) })
}); });
md["if_categorized"] = false
if (parse == "true") { if (parse == "true") {
$('#emoji-list').text('Parsing...'); $('#emoji-list').text('Parsing...');
//絵文字をマストドン公式と同順にソート //絵文字をマストドン公式と同順にソート
md["uncategorized"].sort(function (a, b) { md.sort(function (a, b) {
if (a.shortcode < b.shortcode) return -1; if (a.shortcode < b.shortcode) return -1;
if (a.shortcode > b.shortcode) return 1; if (a.shortcode > b.shortcode) return 1;
return 0; return 0;
}); });
localStorage.setItem("emojis_" + acct_id, JSON.stringify(md)); localStorage.setItem("emoji_" + acct_id, JSON.stringify(md));
} else { } else {
localStorage.setItem("emojis_" + acct_id, JSON.stringify(md)); localStorage.setItem("emoji_" + acct_id, JSON.stringify(md));
} }
localStorage.setItem("emojiseek", 0); localStorage.setItem("emojiseek", 0);
if (!started) { if (!started) {
@@ -196,28 +137,7 @@ function emojiList(target, reaction) {
localStorage.getItem("emojiseek", 0) localStorage.getItem("emojiseek", 0)
} }
var html = ''; var html = '';
var raw = JSON.parse(localStorage.getItem("emojis_" + acct_id)); var obj = JSON.parse(localStorage.getItem("emoji_" + acct_id));
console.log(raw)
if (raw.if_categorized) {
var obj = [{
"divider": true,
"cat": lang.lang_emoji_uncat
}]
var cats = raw["uncategorized"]
obj = obj.concat(cats);
Object.keys(raw["categorized"]).forEach(function (key) {
var cats = raw["categorized"][key];
obj = obj.concat([{
"divider": true,
"cat": key
}]);
obj = obj.concat(cats);
});
} else {
var obj = raw["uncategorized"]
}
console.log(obj)
var num = obj.length; var num = obj.length;
if (num < start) { if (num < start) {
var start = 0; var start = 0;
@@ -227,69 +147,62 @@ function emojiList(target, reaction) {
$("#emoji-sum").text(page); $("#emoji-sum").text(page);
var ct = Math.ceil(start / 126); var ct = Math.ceil(start / 126);
if (ct === 0) { if (ct === 0) {
if(num > 0){
var ct = 1; var ct = 1;
}
$("#emoji-before").addClass("disabled"); $("#emoji-before").addClass("disabled");
} else { } else {
$("#emoji-before").removeClass("disabled"); $("#emoji-before").removeClass("disabled");
} }
if (page != 1) {
$("#emoji-next").removeClass("disabled"); $("#emoji-next").removeClass("disabled");
} else {
$("#emoji-next").addClass("disabled");
}
$("#emoji-count").text(ct); $("#emoji-count").text(ct);
for (i = start; i < start + 126; i++) { for (i = start; i < start + 126; i++) {
var emoji = obj[i]; var emoji = obj[i];
if (emoji) { if (emoji) {
if (reaction) { if (reaction) {
html = html + '<a onclick="emojiReaction(\':' + emoji.shortcode + html = html + '<a onclick="emojiReaction(\':' + emoji.shortcode +
':\')" class="pointer"><img src="' + emoji.url + '" width="20" title="' + emoji.shortcode + '"></a>'; ':\')" class="pointer"><img src="' + emoji.url + '" width="20"></a>';
} else { } else {
if(emoji.divider){
html = html + '<p style="margin-bottom:0">'+ emoji.cat +'</p>'
}else{
if (emoji.listed) {
html = html + '<a onclick="emojiInsert(\':' + emoji.shortcode + html = html + '<a onclick="emojiInsert(\':' + emoji.shortcode +
':\')" class="pointer"><img src="' + emoji.url + '" width="20" title="' + emoji.shortcode + '"></a>'; ':\')" class="pointer"><img src="' + emoji.url + '" width="20"></a>';
}
} }
} }
} }
}
$("#emoji-list").html(html); $("#emoji-list").html(html);
} }
//絵文字など様々なものをテキストボックスに挿入 //絵文字など様々なものをテキストボックスに挿入
function emojiInsert(code, del) { function emojiInsert(code, del) {
var now = $("#textarea").val(); var now = $("#textarea").val();
var selin = $("#textarea").prop('selectionStart'); var selin = localStorage.getItem("cursor");
if (localStorage.getItem("emoji-zero-width") == "yes") { if (localStorage.getItem("emoji-zero-width") == "yes") {
var blank = ""; var brank = "";
} else { } else {
var blank = " "; var brank = " ";
} }
console.log(selin);
var now = $("#textarea").val();
if (selin > 0) {
var before = now.substr(0, selin); var before = now.substr(0, selin);
if (before.slice(-1) != " ") {
before = before + blank
}
var after = now.substr(selin, now.length); var after = now.substr(selin, now.length);
if (after.slice(-1) != " ") { newt = before + brank + code + brank + after;
after = blank + after } else {
newt = code + brank;
} }
newt = before + code + after;
if (!del) { if (!del) {
$("#textarea").val(newt); $("#textarea").val(newt);
//emoji(); //emoji();
} else { } else {
var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g"); var regExp = new RegExp(del, "g");
var now = now.replace(regExp, ""); var now = now.replace(regExp, "");
$("#textarea").val(now + blank + code); $("#textarea").val(now + brank + code);
} }
$("#textarea").focus(); $("#textarea").focus();
var selin = $("#textarea").prop('selectionStart');
if (!selin) {
selin = 0;
}
localStorage.setItem("cursor", selin);
} }
//改行挿入 //改行挿入
function brInsert(code) { function brInsert(code) {

View File

@@ -36,11 +36,13 @@ $("#drag").on('dragleave', function (e) {
//複数アップ //複数アップ
function pimg(files) { function pimg(files) {
console.table(files); console.log(files);
for (i = 0; i < files.length; i++) { for (i = 0; i < files.length; i++) {
var dot=files[i].path.match(/\.(.+)$/)[1]; var dot=files[i].path.match(/\.(.+)$/)[1];
if(dot=="bmp" || dot=="BMP"){ if(dot=="bmp" || dot=="BMP"){
postMessage(["bmpImage", [files[i].path, i]], "*") var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('bmp-image', [files[i].path,i]);
todo(lang.lang_progress); todo(lang.lang_progress);
}else{ }else{
@@ -48,13 +50,18 @@ 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() { function closedrop() {
$("#drag").css('display', 'none'); $("#drag").css('display', 'none');
} }
//ファイル選択 //ファイル選択
function fileselect() { function fileselect() {
postMessage(["sendSinmpleIpc", "file-select"], "*") ipc.send('file-select', "");
} }
//ファイル読み込み //ファイル読み込み
@@ -88,6 +95,7 @@ function media(b64, type, no) {
localStorage.setItem("image","busy"); localStorage.setItem("image","busy");
todo("Image Upload..."); todo("Image Upload...");
var media = toBlob(b64, type); var media = toBlob(b64, type);
console.log(media);
var fd = new FormData(); var fd = new FormData();
fd.append('file', media); fd.append('file', media);
var acct_id = $("#post-acct-sel").val(); var acct_id = $("#post-acct-sel").val();
@@ -120,16 +128,7 @@ function media(b64, type, no) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
if (!json.id) { console.log(json);
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"); var img = localStorage.getItem("img");
if (json.type.indexOf("image")!=-1) { 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+'">'; var html = '<img src="' + json[previewer] + '" class="preview-img pointer" data-media="'+json["id"]+'" onclick="deleteImage(\''+json["id"]+'\')" title="'+lang.lang_postimg_delete+'">';
@@ -151,15 +150,10 @@ function media(b64, type, no) {
$("#textarea").val($("#textarea").val() + " " + json["text_url"]) $("#textarea").val($("#textarea").val() + " " + json["text_url"])
} }
todc(); todc();
if(localStorage.getItem("nsfw_" + acct_id)){
$("#nsfw").addClass("yellow-text");
$("#nsfw").html("visibility");
$("#nsfw").addClass("nsfw-avail");
}
$(".toot-btn-group").prop("disabled", false); $(".toot-btn-group").prop("disabled", false);
$('select').formSelect(); $('select').material_select();
$("#mec").text(lang.lang_there); $("#mec").text(lang.lang_there);
M.toast({ html: lang.lang_postimg_aftupload, displayLength: 1000 }) Materialize.toast(lang.lang_postimg_aftupload, 1000);
$("#imgup").text(""); $("#imgup").text("");
$("#imgsel").show(); $("#imgsel").show();
localStorage.removeItem("image"); localStorage.removeItem("image");
@@ -188,13 +182,14 @@ function toBlob(base64, type) {
//画像を貼り付けたら… //画像を貼り付けたら…
var element = document.querySelector("#textarea"); var element = document.querySelector("#textarea");
element.addEventListener("paste", function(e){ element.addEventListener("paste", function(e){
console.log(e)
if (!e.clipboardData || !e.clipboardData.items) { if (!e.clipboardData || !e.clipboardData.items) {
return true; return true;
} }
// DataTransferItemList に画像が含まれいない場合は終了する // DataTransferItemList に画像が含まれいない場合は終了する
var imageItems = [...e.clipboardData.items].filter(i => i.type.startsWith('image')); var imageItems = [...e.clipboardData.items].filter(i => i.type.startsWith('image'));
if (imageItems.length == 0) { if (imageItems.length == 0) {
console.warn("it is not image") console.log("not image")
return true; return true;
} }
@@ -219,17 +214,19 @@ 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){ function deleteImage(key){
Swal.fire({ console.log(key);
title: lang.lang_postimg_delete, if(!confirm(lang.lang_postimg_delete)){
type: 'warning', return false;
showCancelButton: true, }
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no
}).then((result) => {
if (result.value) {
var media = $("#media").val(); var media = $("#media").val();
var arr=media.split(","); var arr=media.split(",");
for(var i=0;i<media.length;i++){ for(var i=0;i<media.length;i++){
@@ -241,6 +238,3 @@ function deleteImage(key) {
$("#media").val(arr.join(",")); $("#media").val(arr.join(","));
$('#preview [data-media='+key+']').remove(); $('#preview [data-media='+key+']').remove();
} }
})
}

View File

@@ -17,7 +17,7 @@ function renote(id, acct_id, remote) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: renote", json]); console.log(json);
$("[toot-id=" + id + "]").addClass("rted"); $("[toot-id=" + id + "]").addClass("rted");
$(".rt_"+id).toggleClass("teal-text"); $(".rt_"+id).toggleClass("teal-text");
} }
@@ -31,7 +31,7 @@ function renoteqt(id, acct_id) {
$("#rec").text("Renote"); $("#rec").text("Renote");
$("#post-acct-sel").val(acct_id); $("#post-acct-sel").val(acct_id);
$("#post-acct-sel").prop("disabled", true); $("#post-acct-sel").prop("disabled", true);
$('select').formSelect(); $('select').material_select();
$("#textarea").attr("placeholder",lang.lang_misskeyparse_qt); $("#textarea").attr("placeholder",lang.lang_misskeyparse_qt);
$("#textarea").focus(); $("#textarea").focus();
} }
@@ -43,7 +43,7 @@ function misskeyreply(id, acct_id) {
$("#rec").text("Renote"); $("#rec").text("Renote");
$("#post-acct-sel").val(acct_id); $("#post-acct-sel").val(acct_id);
$("#post-acct-sel").prop("disabled", true); $("#post-acct-sel").prop("disabled", true);
$('select').formSelect(); $('select').material_select();
$("#textarea").attr("placeholder",lang.lang_misskeyparse_qt); $("#textarea").attr("placeholder",lang.lang_misskeyparse_qt);
$("#textarea").focus(); $("#textarea").focus();
} }
@@ -63,12 +63,12 @@ function reactiontoggle(id, acct_id, tlid) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: reaction", json]); console.log(json);
if (json.reactions) { if(json.reactionCounts){
var reactions = ["like", "love", "laugh", "hmm", "surprise", "congrats", "angry", "confused", "pudding", "rip"]; var reactions=["like","love","laugh","hmm","surprise","congrats","angry","confused","pudding","star"];
for(var i=0;i<reactions.length;i++){ for(var i=0;i<reactions.length;i++){
if (json.reactions[reactions[i]]) { if(json.reactionCounts[reactions[i]]){
$("#pub_" + id + " .re-" + reactions[i] + "ct").text(json.reactions[reactions[i]]) $("#pub_" + id +" .re-"+reactions[i]+"ct").text(json.reactionCounts[reactions[i]])
$("#pub_" + id +" .re-"+reactions[i]).removeClass("hide") $("#pub_" + id +" .re-"+reactions[i]).removeClass("hide")
}else{ }else{
$("#pub_" + id +" .re-"+reactions[i]+"ct").text(0) $("#pub_" + id +" .re-"+reactions[i]+"ct").text(0)
@@ -77,7 +77,7 @@ function reactiontoggle(id, acct_id, tlid) {
}else{ }else{
$("#pub_" + id +" .re-"+reactions[i]).removeClass("hide") $("#pub_" + id +" .re-"+reactions[i]).removeClass("hide")
} }
$("#pub_" + id + " .re-" + reactions[i] + "ct").text(json.reactions[reactions[i]]) $("#pub_" + id +" .re-"+reactions[i]+"ct").text(json.reactionCounts[reactions[i]])
} }
} }
$("#pub_" + id +" .reactions").removeClass("hide"); $("#pub_" + id +" .reactions").removeClass("hide");
@@ -102,7 +102,7 @@ function reactioncustom(acct_id, id) {
$("#unreact").hide(); $("#unreact").hide();
$("#addreact").removeClass("hide"); $("#addreact").removeClass("hide");
$("#post-acct-sel").val(acct_id); $("#post-acct-sel").val(acct_id);
$('select').formSelect(); $('select').material_select();
localStorage.setItem("nohide",true); localStorage.setItem("nohide",true);
show() show()
emojiToggle(true) emojiToggle(true)
@@ -121,6 +121,7 @@ function reactRefresh(acct_id, id) {
method: "POST", method: "POST",
body: JSON.stringify(req), body: JSON.stringify(req),
} }
console.log(req)
fetch(start, i, fetch(start, i,
).then(function(response) { ).then(function(response) {
return response.json(); return response.json();
@@ -142,20 +143,21 @@ function reactRefresh(acct_id, id) {
} }
function reactRefreshCore(json){ function reactRefreshCore(json){
var id=json.id; var id=json.id;
if (json.reactions) { if(json.reactionCounts){
$("#pub_" + id +" .reactions").removeClass("hide") $("#pub_" + id +" .reactions").removeClass("hide")
var regExp = new RegExp( ":", "g" ) ; var regExp = new RegExp( ":", "g" ) ;
Object.keys(json.reactions).forEach(function (keye) { Object.keys(json.reactionCounts).forEach(function(keye) {
keyeClass=keye.replace(regExp,''); keyeClass=keye.replace(regExp,'');
if (json.reactions[keye]) { if(json.reactionCounts[keye]){
$("#pub_" + id + " .re-" + keyeClass + "ct").text(json.reactions[keye]) console.log(json.reactionCounts[keye])
$("#pub_" + id +" .re-"+keyeClass+"ct").text(json.reactionCounts[keye])
$("#pub_" + id +" .re-"+keyeClass).removeClass("hide") $("#pub_" + id +" .re-"+keyeClass).removeClass("hide")
}else{ }else{
$("#pub_" + id +" .re-"+keyeClass+"ct").text(0) $("#pub_" + id +" .re-"+keyeClass+"ct").text(0)
if($("#pub_" + id +" .reactions").hasClass("fullreact")){ if($("#pub_" + id +" .reactions").hasClass("fullreact")){
$("#pub_" + id +" .re-"+keyeClass).addClass("hide") $("#pub_" + id +" .re-"+keyeClass).addClass("hide")
} }
$("#pub_" + id + " .re-" + keyeClass + "ct").text(json.reactions[keye]) $("#pub_" + id +" .re-"+keyeClass+"ct").text(json.reactionCounts[keye])
} }
}); });
} }

View File

@@ -17,41 +17,55 @@ function post(mode, postvis) {
var acct_id = $("#post-acct-sel").val(); var acct_id = $("#post-acct-sel").val();
localStorage.setItem("last-use", acct_id); localStorage.setItem("last-use", acct_id);
var domain = localStorage.getItem("domain_" + 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")){ if(!localStorage.getItem("cw_sentence")){
var cw_sent=500; var cw_sent=500;
}else{ }else{
var cw_sent=localStorage.getItem("cw_sentence"); var cw_sent=localStorage.getItem("cw_sentence");
} }
if(!localStorage.getItem("cw_letters")){ if(!localStorage.getItem("cw_letters")){
var cw_ltres = 7000; var cw_ltres=500;
}else{ }else{
var cw_ltres=localStorage.getItem("cw_letters"); var cw_ltres=localStorage.getItem("cw_letters");
} }
if(domain!="kirishima.cloud"){ if(domain!="kirishima.cloud"){
if(mode!="pass" && !$("#cw").hasClass("cw-avail") && (str.length>cw_sent || (str.split("\n").length - 1)>cw_ltres)){ 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)+"..."; var plus=str.replace(/\n/g,"").slice(0,10)+"...";
Swal.fire({ const options = {
title: lang.lang_post_cwtitle,
text: lang.lang_post_cwtxt + plus,
type: 'info', type: 'info',
showCancelButton: true, title: lang.lang_post_cwtitle,
confirmButtonColor: '#3085d6', message: lang.lang_post_cwtxt+plus,
cancelButtonColor: '#3085d6', buttons: [lang.lang_post_btn1,lang.lang_post_btn2, lang.lang_post_btn3]
confirmButtonText: lang.lang_post_btn2, }
cancelButtonText: lang.lang_post_btn3, dialog.showMessageBox(options, function(arg) {
showCloseButton: true, if(arg===1){
focusConfirm: false,
}).then((result) => {
if (result.dismiss == "cancel") {
//btn3:sonomama
post("pass")
} else if (result.value) {
//btn2:auto-CW
$("#cw-text").show(); $("#cw-text").show();
$("#cw").addClass("yellow-text"); $("#cw").addClass("yellow-text");
$("#cw").addClass("cw-avail"); $("#cw").addClass("cw-avail");
$("#cw-text").val(plus); $("#cw-text").val(plus);
post("pass") post("pass");
}else if(arg===2){
post("pass");
} }
}) })
return false; return false;
@@ -79,10 +93,6 @@ function post(mode, postvis) {
if(media){ if(media){
toot.media_ids=media.split(","); toot.media_ids=media.split(",");
} }
var quote = $("#quote").val();
if (quote) {
toot.quote_id = quote;
}
if ($("#nsfw").hasClass("nsfw-avail")) { if ($("#nsfw").hasClass("nsfw-avail")) {
var nsfw = "true"; var nsfw = "true";
toot.sensitive=nsfw; toot.sensitive=nsfw;
@@ -94,10 +104,21 @@ function post(mode, postvis) {
}else{ }else{
var vis = $("#vis").text(); var vis = $("#vis").text();
} }
if(vis!="inherit" && vis!="local"){ if(vis!="inherit" && vis!="local"){
toot.visibility=vis; toot.visibility=vis;
}else if(vis=="local"){ }else if(vis=="local"){
toot.status=str+"👁️"; 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")) { if ($("#cw").hasClass("cw-avail")) {
var spo = $("#cw-text").val(); var spo = $("#cw-text").val();
@@ -108,13 +129,13 @@ function post(mode, postvis) {
} }
if ($("#sch-box").hasClass("sch-avail")) { if ($("#sch-box").hasClass("sch-avail")) {
var scheduled=formattimeutc(new Date(Date.parse($("#sch-date").val()))) var scheduled=formattimeutc(new Date(Date.parse($("#sch-date").val())))
console.log("This toot will be posted at:" + scheduled) console.log(scheduled)
schedule(); schedule();
toot.scheduled_at=scheduled; toot.scheduled_at=scheduled;
} else { } else {
var scheduled = ""; var scheduled = "";
} }
if (!$("#poll").hasClass("hide")) { if ($("#poll-sel").val()=="mastodon-poll") {
var options=[]; var options=[];
$(".mastodon-choice").map(function() { $(".mastodon-choice").map(function() {
var choice=$(this).val(); var choice=$(this).val();
@@ -143,7 +164,7 @@ function post(mode, postvis) {
hide_totals: htt hide_totals: htt
} }
} }
console.table(toot); console.log(toot);
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true); httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -197,9 +218,9 @@ function misskeyPost() {
} }
var vis = $("#vis").text(); var vis = $("#vis").text();
if(vis=="unlisted"){ if(vis=="unlisted"){
vis = "home" vis=="home"
}else if(vis=="direct"){ }else if(vis=="direct"){
vis = "specified"; vis=="specified";
toot.visibleUserIds=str.match(/@([a-zA-Z0-9_@.-]+)(\s|$)/g).join('').split("@"); toot.visibleUserIds=str.match(/@([a-zA-Z0-9_@.-]+)(\s|$)/g).join('').split("@");
} }
if(vis!="inherit"){ if(vis!="inherit"){
@@ -224,7 +245,7 @@ function misskeyPost() {
localStorage.removeItem("stable") localStorage.removeItem("stable")
} }
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: toot", json]); console.log(json);
var box = localStorage.getItem("box"); var box = localStorage.getItem("box");
if (box == "yes") { if (box == "yes") {
hide(); hide();
@@ -247,7 +268,6 @@ function clear() {
} }
$("#textarea").attr("placeholder", lang.lang_toot); $("#textarea").attr("placeholder", lang.lang_toot);
$("#reply").val(""); $("#reply").val("");
$("#quote").val("");
$("#media").val(""); $("#media").val("");
var cwt = localStorage.getItem("cw-text"); var cwt = localStorage.getItem("cw-text");
if (cwt) { if (cwt) {
@@ -279,8 +299,6 @@ function clear() {
$("#days_poll").val(0); $("#days_poll").val(0);
$("#hours_poll").val(0); $("#hours_poll").val(0);
$("#mins_poll").val(6); $("#mins_poll").val(6);
$("#poll").addClass("hide")
$("#pollsta").text(lang.lang_no)
$(".mastodon-choice").map(function() { $(".mastodon-choice").map(function() {
$(this).val(""); $(this).val("");
}); });
@@ -288,8 +306,7 @@ function clear() {
if(localStorage.getItem("mainuse")=="main"){ if(localStorage.getItem("mainuse")=="main"){
$("#post-acct-sel").val(localStorage.getItem("main")); $("#post-acct-sel").val(localStorage.getItem("main"));
} }
$('select').formSelect(); $('select').material_select();
mdCheck()
$("#left-side").show(); $("#left-side").show();
$("#default-emoji").show(); $("#default-emoji").show();
$("#unreact").show(); $("#unreact").show();

View File

@@ -45,13 +45,11 @@ function vis(set) {
var acct_id = $("#post-acct-sel").val(); var acct_id = $("#post-acct-sel").val();
localStorage.setItem("vis-memory-"+acct_id,set); localStorage.setItem("vis-memory-"+acct_id,set);
} }
var ins = M.Dropdown.getInstance($('#dropdown1')) $('.dropdown-button').dropdown('close');
if(ins){
ins.close();
}
} }
function loadVis(){ function loadVis(){
var vist = localStorage.getItem("vis"); var vist = localStorage.getItem("vis");
console.log(vist);
if (!vist) { if (!vist) {
vis("public"); vis("public");
} else { } else {
@@ -125,6 +123,7 @@ function schedule() {
$("#sch-box").show(); $("#sch-box").show();
$("#sch-date").val(formattime(date)); $("#sch-date").val(formattime(date));
console.log(formattime(date));
$("#sch-box").addClass("sch-avail"); $("#sch-box").addClass("sch-avail");
} }
} }

View File

@@ -18,24 +18,23 @@ function fav(id, acct_id, remote) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
if(json.reblog){
json = json.reblog
}
if(remote!="remote"){ if(remote!="remote"){
//APIのふぁぼカウントがおかしい //APIのふぁぼカウントがおかしい
if ($("[toot-id=" + id + "] .fav_ct").text() == json.favourites_count){ if ($("[toot-id=" + id + "] .fav_ct").text() == json.favourites_count){
if(flag=="unfavourite"){ if(flag=="unfavourite"){
var fav=json.favourites_count - 1; var fav=json.favourites_count - 1;
if ( fav * 1 < 0){ fav = 0}
}else{ }else{
var fav = json.favourites_count; var fav=json.favourites_count + 1;
//var fav = json.favourites_count; //var fav = json.favourites_count;
} }
}else{ }else{
var fav = json.favourites_count; var fav = json.favourites_count;
} }
$("[toot-id=" + id + "] .fav_ct").text(fav); $("[toot-id=" + id + "] .fav_ct").text(fav);
$("[toot-id=" + id + "] .rt_ct").text(json.reblogs_count); if (!json.reblog) {
} else {
$("[toot-id=" + id + "] .rt_ct").text(fav);
}
if ($("[toot-id=" + id +"]").hasClass("faved")) { if ($("[toot-id=" + id +"]").hasClass("faved")) {
$("[toot-id=" + id +"]").removeClass("faved"); $("[toot-id=" + id +"]").removeClass("faved");
$(".fav_" + id).removeClass("yellow-text"); $(".fav_" + id).removeClass("yellow-text");
@@ -44,14 +43,14 @@ function fav(id, acct_id, remote) {
$(".fav_" + id).addClass("yellow-text"); $(".fav_" + id).addClass("yellow-text");
} }
}else{ }else{
M.toast({ html: lang.lang_status_favWarn, displayLength: 1000 }) Materialize.toast(lang.lang_status_favWarn, 1000);
} }
} }
} }
} }
//ブースト //ブースト
function rt(id, acct_id, remote, vis) { function rt(id, acct_id, remote) {
if ($("#pub_" + id).hasClass("rted")) { if ($("#pub_" + id).hasClass("rted")) {
var flag = "unreblog"; var flag = "unreblog";
} else { } else {
@@ -65,50 +64,37 @@ function rt(id, acct_id, remote, vis) {
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
httpreq.setRequestHeader('Authorization', 'Bearer ' + at); httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
httpreq.responseType = "json"; httpreq.responseType = "json";
if(vis){
httpreq.send(JSON.stringify({visibility: vis}));
}else{
httpreq.send(); httpreq.send();
}
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
if(json.reblog){ console.log(json);
json = json.reblog
}
console.log(["Success: boost", json]);
if (remote != "remote") { if (remote != "remote") {
$("[toot-id=" + id + "] .fav_ct").text(json.favourites_count); $("[toot-id=" + id + "] .fav_ct").text(json.favourites_count);
if (!json.reblog) { if (!json.reblog) {
if (flag == "unreblog") { if (flag == "unreblog") {
var rt = json.reblogs_count - 1; var rt = json.reblogs_count - 1;
if ( rt * 1 < 0){ rt = 0}
} else { } else {
var rt = json.reblogs_count; var rt = json.reblogs_count + 1;
} }
$("[toot-id=" + id + "] .rt_ct").text(rt); $("[toot-id=" + id + "] .rt_ct").text(rt);
} else { } else {
$("[toot-id=" + id + "] .rt_ct").text(json.reblogs_count); $("[toot-id=" + id + "] .rt_ct").text(json.reblog.reblogs_count);
} }
if ($("[toot-id=" + id + "]").hasClass("rted")) { if ($("[toot-id=" + id + "]").hasClass("rted")) {
$("[toot-id=" + id + "]").removeClass("rted"); $("[toot-id=" + id + "]").removeClass("rted");
$(".rt_" + id).removeClass("light-blue-text"); $(".rt_" + id).removeClass("teal-text");
} else { } else {
$("[toot-id=" + id + "]").addClass("rted"); $("[toot-id=" + id + "]").addClass("rted");
$(".rt_" + id).addClass("light-blue-text"); $(".rt_" + id).addClass("teal-text");
} }
} else { } else {
M.toast({ html: lang.lang_status_btWarn, displayLength: 1000 }) Materialize.toast(lang.lang_status_btWarn, 1000);
} }
} }
} }
} }
function boostWith(vis){
var id = $("#tootmodal").attr("data-id");
var acct_id = $("#tootmodal").attr("data-acct");
rt(id, acct_id, false, vis)
}
//フォロー //フォロー
function follow(acct_id,remote) { function follow(acct_id,remote) {
@@ -130,14 +116,19 @@ function follow(acct_id, remote) {
} }
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); 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"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
var start = "https://" + domain + "/api/following/"+flagm; var start = "https://" + domain + "/api/following/"+flagm;
var user=$("#his-acct").text();
var ent={"i":at,"userId":id} var ent={"i":at,"userId":id}
}else if(remote=="true" && flag=="follow"){ }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 ent={}
} }
console.log(ent);
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true); httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -147,7 +138,7 @@ function follow(acct_id, remote) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: folllow", json]); console.log(json);
if ($("#his-data").hasClass("following")) { if ($("#his-data").hasClass("following")) {
$("#his-data").removeClass("following"); $("#his-data").removeClass("following");
$("#his-follow-btn").text(lang.lang_status_follow); $("#his-follow-btn").text(lang.lang_status_follow);
@@ -161,28 +152,15 @@ function follow(acct_id, remote) {
//ブロック //ブロック
function block(acct_id) { 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) { if (!acct_id) {
var acct_id = $('#his-data').attr("use-acct"); var acct_id = $('#his-data').attr("use-acct");
} }
var id = $("#his-data").attr("user-id"); 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 domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag;
@@ -204,36 +182,20 @@ function block(acct_id) {
} }
} }
} }
});
}
//ミュート //ミュート
function muteDo(acct_id) { function mute(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) { if (!acct_id) {
var acct_id = $('#his-data').attr("use-acct"); var acct_id = $('#his-data').attr("use-acct");
} }
var id = $("#his-data").attr("user-id"); 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 domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)=="misskey"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
@@ -262,9 +224,6 @@ function muteDo(acct_id) {
} }
} }
} }
});
}
//投稿削除 //投稿削除
function del(id, acct_id) { function del(id, acct_id) {
@@ -295,23 +254,10 @@ function del(id, acct_id) {
} }
//redraft //redraft
function redraft(id, acct_id){ function redraft(id, acct_id){
Swal.fire({ if(confirm(lang.lang_status_redraft)){
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(); show();
del(id, acct_id); del(id, acct_id);
$("#post-acct-sel").prop("disabled", true); $("#post-acct-sel").prop("disabled", true);
$("#post-acct-sel").val(acct_id);
$('select').formSelect();
mdCheck()
var medias=$("[toot-id="+id+"]").attr("data-medias"); var medias=$("[toot-id="+id+"]").attr("data-medias");
var vismode=$("[toot-id="+id+"] .vis-data").attr("data-vis"); var vismode=$("[toot-id="+id+"] .vis-data").attr("data-vis");
vis(vismode); vis(vismode);
@@ -320,7 +266,7 @@ function redraft(id, acct_id) {
$("[toot-id="+id+"] img.toot-img").each(function(i, elem) { $("[toot-id="+id+"] img.toot-img").each(function(i, elem) {
if(i<ct){ if(i<ct){
var url=$(elem).attr("src"); var url=$(elem).attr("src");
console.log("Play back image data:" + url); console.log(url);
$('#preview').append('<img src="' + url + '" style="width:50px; max-height:100px;">'); $('#preview').append('<img src="' + url + '" style="width:50px; max-height:100px;">');
} }
}); });
@@ -341,7 +287,6 @@ function redraft(id, acct_id) {
$("#cw-text").val(cwtxt); $("#cw-text").val(cwtxt);
} }
} }
})
} }
//ピン留め //ピン留め
function pin(id, acct_id) { function pin(id, acct_id) {
@@ -362,7 +307,7 @@ function pin(id, acct_id) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: pinned", json]); console.log(json);
if ($("[toot-id=" + id + "]").hasClass("pined")) { if ($("[toot-id=" + id + "]").hasClass("pined")) {
$("[toot-id=" + id + "]").removeClass("pined"); $("[toot-id=" + id + "]").removeClass("pined");
$(".pin_" + id).removeClass("blue-text"); $(".pin_" + id).removeClass("blue-text");
@@ -388,7 +333,7 @@ function request(id, flag, acct_id) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: request", "type:" + flag, json]); console.log(json);
showReq(); showReq();
} }
} }
@@ -411,7 +356,7 @@ function domainblock(add, flag, acct_id) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["Success: domain block", json]); console.log(json);
showDom(); showDom();
} }
} }
@@ -426,10 +371,11 @@ function empUser() {
var usr = localStorage.getItem("user_emp"); var usr = localStorage.getItem("user_emp");
var obj = JSON.parse(usr); var obj = JSON.parse(usr);
var id=$("#his-acct").attr("fullname"); var id=$("#his-acct").attr("fullname");
console.log(id);
if(!obj){ if(!obj){
var obj=[]; var obj=[];
obj.push(id); obj.push(id);
M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 }) Materialize.toast(id+lang.lang_status_emphas, 4000);
}else{ }else{
var can; var can;
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
@@ -439,7 +385,7 @@ function empUser() {
}else{ }else{
can=true; can=true;
obj.splice(key, 1); obj.splice(key, 1);
M.toast({ html: id + lang.lang_status_unemphas, displayLength: 4000 }) Materialize.toast(id+lang.lang_status_unemphas, 4000);
} }
}); });
} }
@@ -467,6 +413,7 @@ function pinUser() {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(json);
if ($("#his-end-btn").hasClass("endorsed")) { if ($("#his-end-btn").hasClass("endorsed")) {
$("#his-end-btn").removeClass("endorsed") $("#his-end-btn").removeClass("endorsed")
$("#his-end-btn").text(lang.lang_status_endorse) $("#his-end-btn").text(lang.lang_status_endorse)
@@ -481,7 +428,7 @@ function pinUser() {
//URLコピー //URLコピー
function tootUriCopy(url){ function tootUriCopy(url){
execCopy(url); execCopy(url);
M.toast({ html: lang.lang_details_url, displayLength: 1500 }) Materialize.toast(lang.lang_details_url, 1500);
} }
//他のアカウントで… //他のアカウントで…
@@ -490,7 +437,7 @@ function staEx(mode) {
var acct_id = $("#status-acct-sel").val(); var acct_id = $("#status-acct-sel").val();
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + url var start = "https://" + domain + "/api/v1/search?resolve=true&q="+url
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -516,9 +463,7 @@ function staEx(mode) {
} }
function toggleAction(id,tlid,acct_id){ function toggleAction(id,tlid,acct_id){
if(tlid=="notf"){ if(tlid=="notf"){
var tlide = "[data-acct=" + acct_id + "] .notf-timeline"; var tlide="[data-notf="+acct_id+"]";
} else if (tlid == "user") {
var tlide = "#his-tl-contents";
}else{ }else{
var tlide="[tlid="+tlid+"]"; var tlide="[tlid="+tlid+"]";
} }

View File

@@ -8,7 +8,6 @@ var oldSuggest;
var suggest; var suggest;
input.addEventListener("focus", function() { input.addEventListener("focus", function() {
localStorage.removeItem("cursor");
var acct_id = $("#post-acct-sel").val(); var acct_id = $("#post-acct-sel").val();
$("#suggest").html(""); $("#suggest").html("");
window.clearInterval(timer); window.clearInterval(timer);
@@ -18,15 +17,6 @@ input.addEventListener("focus", function () {
$("#suggest").html(""); $("#suggest").html("");
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){ if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide() $("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "100%")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width + "px")
} }
return; return;
} }
@@ -51,29 +41,11 @@ input.addEventListener("focus", function () {
} }
if(ehtml!=""){ if(ehtml!=""){
$("#right-side").show() $("#right-side").show()
$("#right-side").css("width", "200px")
$("#left-side").css("width", "calc(100% - 200px)")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1 + 200
} else {
width = 600
}
$("#post-box").css("width", width + "px")
$("#poll").addClass("hide") $("#poll").addClass("hide")
$("#emoji").addClass("hide") $("#emoji").addClass("hide")
}else{ }else{
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){ if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide() $("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "100%")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width + "px")
} }
} }
$("#suggest").html(ehtml); $("#suggest").html(ehtml);
@@ -89,23 +61,14 @@ input.addEventListener("focus", function () {
$("#suggest").html(""); $("#suggest").html("");
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){ if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide() $("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "100%")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width + "px")
} }
return; return;
} }
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
suggest = "https://" + domain + "/api/v2/search?q=" + q suggest = "https://" + domain + "/api/v1/search?q=" + q
if (suggest != oldSuggest) { if (suggest != oldSuggest) {
console.log("Try to get suggest at " + suggest) console.log(suggest)
fetch(suggest, { fetch(suggest, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -118,52 +81,18 @@ input.addEventListener("focus", function () {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(["Search", json]);
//ハッシュタグ
if (json.hashtags[0] && tag) { if (json.hashtags[0] && tag) {
if(tag[1]){ if(tag[1]){
var tags = []; var tags = "";
Object.keys(json.hashtags).forEach(function(key4) { Object.keys(json.hashtags).forEach(function(key4) {
var tag = json.hashtags[key4]; var tag = json.hashtags[key4];
var his = tag.history; if(tag!=q){
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; tags = tags + '<a onclick="tagInsert(\'#' + tag + '\',\'#' + q +
tagHTML = '<br><a onclick="tagInsert(\'#' + escapeHTML(tag.name) + '\',\'#' + q + '\')" class="pointer">#' + '\')" class="pointer">#' + tag + '</a><br>';
escapeHTML(tag.name) + '</a>&nbsp;' + 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() $("#right-side").show()
$("#right-side").css("width", "200px") $("#suggest").html("Tags:<br>" + tags);
$("#left-side").css("width", "calc(100% - 200px)")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1 + 200
} else {
width = 600
}
$("#post-box").css("width", width + "px")
$("#poll").addClass("hide") $("#poll").addClass("hide")
$("#emoji").addClass("hide") $("#emoji").addClass("hide")
} }
@@ -172,38 +101,17 @@ input.addEventListener("focus", function () {
Object.keys(json.accounts).forEach(function(key3) { Object.keys(json.accounts).forEach(function(key3) {
var acct = json.accounts[key3]; var acct = json.accounts[key3];
if(acct.acct!=q){ if(acct.acct!=q){
//Instance Actorって…
if (acct.username.indexOf(".") < 0) {
accts = accts + '<a onclick="tagInsert(\'@' + acct.acct + accts = accts + '<a onclick="tagInsert(\'@' + acct.acct +
'\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a><br>'; '\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a><br>';
} }
}
}); });
$("#right-side").show() $("#right-side").show()
$("#right-side").css("width", "200px")
$("#left-side").css("width", "calc(100% - 200px)")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1 + 200
} else {
width = 600
}
$("#post-box").css("width", width + "px")
$("#suggest").html(accts); $("#suggest").html(accts);
$("#poll").addClass("hide") $("#poll").addClass("hide")
$("#emoji").addClass("hide") $("#emoji").addClass("hide")
} else { } else {
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){ if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide() $("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "100%")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width + "px")
} }
} }
}); });
@@ -223,7 +131,7 @@ function tagInsert(code, del) {
var selin = $("#textarea").prop('selectionStart'); var selin = $("#textarea").prop('selectionStart');
if (!del) { if (!del) {
} else { } else {
var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g"); var regExp = new RegExp(del, "g");
var now = now.replace(regExp, ""); var now = now.replace(regExp, "");
selin=selin-del.length; selin=selin-del.length;
} }
@@ -238,20 +146,13 @@ function tagInsert(code, del) {
$("#textarea").focus(); $("#textarea").focus();
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){ if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide() $("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "50%")
var width = localStorage.getItem("postbox-width").replace("px", "") * 1;
if (!width) {
width = 300
}
$("#post-box").css("width", width + "px")
} }
$("#suggest").html(""); $("#suggest").html("");
} }
function cgNPs(q){ function cgNPs(q){
suggest = "https://cg.toot.app/api/v1/search/light?q=" + q suggest = "https://cg.toot.app/api/v1/search/light?q=" + q
if (suggest != oldSuggest) { if (suggest != oldSuggest) {
console.log("Try to get suggest at " + suggest) console.log(suggest)
fetch(suggest, { fetch(suggest, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -263,6 +164,7 @@ function cgNPs(q) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json[0]) { if (json[0]) {
var tags = ""; var tags = "";
Object.keys(json).forEach(function(key4) { Object.keys(json).forEach(function(key4) {

View File

@@ -15,8 +15,7 @@ function re(id, ats_cm, acct_id, mode) {
$("#rec").text(lang.lang_yesno); $("#rec").text(lang.lang_yesno);
$("#post-acct-sel").val(acct_id); $("#post-acct-sel").val(acct_id);
$("#post-acct-sel").prop("disabled", true); $("#post-acct-sel").prop("disabled", true);
$('select').formSelect(); $('select').material_select();
mdCheck()
$("#textarea").attr("placeholder",lang.lang_usetxtbox_reply); $("#textarea").attr("placeholder",lang.lang_usetxtbox_reply);
$("#textarea").focus(); $("#textarea").focus();
var profimg=localStorage.getItem("prof_"+acct_id); var profimg=localStorage.getItem("prof_"+acct_id);
@@ -58,24 +57,8 @@ function qt(id, acct_id, at, url) {
html = html.replace(/<\/p>/, "\n"); html = html.replace(/<\/p>/, "\n");
html=$.strip_tags(html); html=$.strip_tags(html);
$("#textarea").val("\n"+"@"+at+" "+html+"\n"+url); $("#textarea").val("\n"+"@"+at+" "+html+"\n"+url);
} else if (qt == "apiQuote") { }
clear();
localStorage.setItem("nohide", true);
show();
$("#quote").val(id);
$("#post-acct-sel").val(acct_id);
$("#post-acct-sel").prop("disabled", true);
$('select').formSelect();
$("#textarea").attr("placeholder", lang.lang_usetxtbox_reply);
$("#textarea").focus(); $("#textarea").focus();
var profimg = localStorage.getItem("prof_" + acct_id);
if (!profimg) {
profimg = "../../img/missing.svg";
}
$("#acct-sel-prof").attr("src", profimg);
}
$("#post-acct-sel").val(acct_id); $("#post-acct-sel").val(acct_id);
$('select').formSelect(); $('select').material_select();
mdCheck()
$("#textarea").focus();
} }

View File

@@ -6,21 +6,17 @@ function additional(acct_id, tlid) {
$("#timeline-container .mention").addClass("parsed"); $("#timeline-container .mention").addClass("parsed");
$("#timeline-container .hashtag, #timeline-container [rel=tag]").each(function (i, elem) { $("#timeline-container .hashtag").each(function(i, elem) {
var tags = $(this).attr("href").match( var tags = $(this).attr("href").match(
/https?:\/\/([-a-zA-Z0-9@.]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/ /https?:\/\/([-a-zA-Z0-9@.]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
); );
if(tags){
var tagThis = tags[2]
}else{
var tagThis = $(this).attr("data-tag")
}
if(tagThis){
$(this).attr("onclick", 'tagShow(\'' + tagThis + '\')');
$(this).attr("href","#"); $(this).attr("href","#");
if(tags){
if(tags[2]){
$(this).attr("onclick",'tagShow(\'' + tags[2] + '\')');
} }
}
}); });
//トゥートサムネ //トゥートサムネ
@@ -84,7 +80,8 @@ function additional(acct_id, tlid) {
var dom=$(this); var dom=$(this);
var start = "./js/emoji/emoji-map.json"; var start = "./js/emoji/emoji-map.json";
var xmlHttpRequest = new XMLHttpRequest(); var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function () { xmlHttpRequest.onreadystatechange = function()
{
if( this.readyState === 4 && this.status === 200 ) { if( this.readyState === 4 && this.status === 200 ) {
if( this.response){ if( this.response){
var json=this.response; var json=this.response;
@@ -159,7 +156,7 @@ function additionalIndv(tlid, acct_id, id) {
}); });
}else{ }else{
var id = $("[toot-id="+id+"] .toot a").parents('.cvo').attr("toot-id"); var id = $("[toot-id="+id+"] .toot a").parents('.cvo').attr("toot-id");
var start = "https://" + domain + "/api/v1/statuses/" + id; var start = "https://" + domain + "/api/v1/statuses/" + id + "/card";
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -173,8 +170,9 @@ function additionalIndv(tlid, acct_id, id) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
json = json.card; console.log(json);
//このリンク鳥やんけ、ってとき //このリンク鳥やんけ、ってとき
console.log(json.provider_name);
if (json.provider_name=="Twitter"){ if (json.provider_name=="Twitter"){
if(json.image){ if(json.image){
var twiImg='<br><img src="'+json.image+'" style="max-width:100%" onclick="imgv(\'twi_'+id+'\', 0, \'twitter\');" id="twi_'+id+'-image-0" data-url="'+json.image+'" data-type="image">'; var twiImg='<br><img src="'+json.image+'" style="max-width:100%" onclick="imgv(\'twi_'+id+'\', 0, \'twitter\');" id="twi_'+id+'-image-0" data-url="'+json.image+'" data-type="image">';
@@ -245,6 +243,7 @@ function mov(id, tlid, type) {
}else{ }else{
var tlide="[tlid="+tlid+"]"; var tlide="[tlid="+tlid+"]";
} }
console.log(tlid)
var mouseover=localStorage.getItem("mouseover"); var mouseover=localStorage.getItem("mouseover");
if(!mouseover){ if(!mouseover){
mouseover=""; mouseover="";

View File

@@ -40,7 +40,7 @@ function details(id, acct_id, tlid, mode) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(["Toot data:", json]); console.log(json);
if(!$("#timeline_"+tlid+" #pub_" + id).length){ if(!$("#timeline_"+tlid+" #pub_" + id).length){
var html = parse([json], '', acct_id); var html = parse([json], '', acct_id);
$("#toot-this").html(html); $("#toot-this").html(html);
@@ -77,13 +77,12 @@ function details(id, acct_id, tlid, mode) {
$("#toot-this .rt_ct").text(json.reblogs_count); $("#toot-this .rt_ct").text(json.reblogs_count);
$("#tootmodal").attr("data-url",url); $("#tootmodal").attr("data-url",url);
$("#tootmodal").attr("data-id",json.id); $("#tootmodal").attr("data-id",json.id);
$("#tootmodal").attr("data-acct", acct_id);
if(local){ if(local){
$("#tootmodal").attr("data-user",scn+"@"+domain); $("#tootmodal").attr("data-user",scn+"@"+domain);
}else{ }else{
$("#tootmodal").attr("data-user",scn); $("#tootmodal").attr("data-user",scn);
} }
getContext(id, acct_id); context(id, acct_id);
var dom=null; var dom=null;
if(!local){ if(!local){
dom=scn.replace(/.+@/g,''); dom=scn.replace(/.+@/g,'');
@@ -92,20 +91,15 @@ function details(id, acct_id, tlid, mode) {
} }
beforeToot(id, acct_id, dom); beforeToot(id, acct_id, dom);
userToot(id, acct_id, uid); userToot(id, acct_id, uid);
afterToot(id, acct_id, dom);
afterUserToot(id, acct_id, uid);
afterFTLToot(id, acct_id, dom);
faved(id, acct_id); faved(id, acct_id);
rted(id, acct_id); rted(id, acct_id);
if($("#toot-this div").hasClass("cvo")){ if($("#toot-this div").hasClass("cvo")){
$("#toot-this").removeClass("cvo"); $("#toot-this").removeClass("cvo");
}else{ }else{
if(!$("#toot-this .cvo").hasClass("cvo")){
$("#toot-this").addClass("cvo"); $("#toot-this").addClass("cvo");
} }
}
if(!$("#activator").hasClass("active")){ if(!$("#activator").hasClass("active")){
$('#det-col').collapsible('open', 4); $('#det-col').collapsible('open', 1);
} }
}); });
@@ -128,7 +122,14 @@ function replyTL(id, acct_id) {
}) })
} }
}else{ }else{
return false var start = "https://" + domain + "/api/v1/statuses/" + id;
var i={
method: 'GET',
headers: {
'content-type': 'application/json',
'Authorization': 'Bearer ' + at
},
}
} }
fetch(start, i).then(function(response) { fetch(start, i).then(function(response) {
return response.json(); return response.json();
@@ -151,13 +152,27 @@ function replyTL(id, acct_id) {
if (json[rep]) { if (json[rep]) {
replyTL(json[rep][0], acct_id); 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 getContext(id, acct_id) { function context(id, acct_id) {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)=="misskey"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
@@ -190,6 +205,7 @@ function getContext(id, acct_id) {
}).then(function(json) { }).then(function(json) {
if(localStorage.getItem("mode_" + domain)=="misskey"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
json.reverse(); json.reverse();
console.log(json);
var templete = misskeyParse(json, '', acct_id,"","",[]); var templete = misskeyParse(json, '', acct_id,"","",[]);
$("#toot-reply").html(templete); $("#toot-reply").html(templete);
$("#toot-reply .hide").html(lang.lang_details_filtered); $("#toot-reply .hide").html(lang.lang_details_filtered);
@@ -210,14 +226,6 @@ function getContext(id, acct_id) {
$("#toot-after .hide").html(lang.lang_details_filtered); $("#toot-after .hide").html(lang.lang_details_filtered);
$("#toot-after .by_filter").css("display","block"); $("#toot-after .by_filter").css("display","block");
$("#toot-after .by_filter").removeClass("hide"); $("#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(); jQuery("time.timeago").timeago();
} }
@@ -324,81 +332,6 @@ function userToot(id, acct_id, user) {
} }
} }
//後のLTL
function afterToot(id, acct_id, domain) {
//var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain +
"/api/v1/timelines/public?local=true&min_id=" + id;
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var templete = parse(json, 'noauth', acct_id);
if (templete != "") {
$("#ltl-after .no-data").hide();
}
$("#ltl-after").html(templete);
jQuery("time.timeago").timeago();
});
}
//後のUTL
function afterUserToot(id, acct_id, user) {
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v1/accounts/" + user + "/statuses?min_id=" + id;
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
'Authorization': 'Bearer ' + at
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var templete = parse(json, '', acct_id);
if (templete != "") {
$("#user-after .no-data").hide();
}
$("#user-after").html(templete);
jQuery("time.timeago").timeago();
});
}
//後のFTL
function afterFTLToot(id, acct_id, domain) {
//var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain +
"/api/v1/timelines/public?min_id=" + id;
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
todo(error);
console.error(error);
}).then(function (json) {
var templete = parse(json, 'noauth', acct_id);
if (templete != "") {
$("#ftl-after .no-data").hide();
}
$("#ftl-after").html(templete);
jQuery("time.timeago").timeago();
});
}
//ふぁぼ一覧 //ふぁぼ一覧
function faved(id, acct_id) { function faved(id, acct_id) {
@@ -423,7 +356,6 @@ function faved(id, acct_id) {
$("#toot-fav .no-data").hide(); $("#toot-fav .no-data").hide();
} }
$("#toot-fav").html(templete); $("#toot-fav").html(templete);
jQuery("time.timeago").timeago();
}); });
} }
@@ -447,7 +379,6 @@ function rted(id, acct_id) {
}).then(function(json) { }).then(function(json) {
var templete = userparse(json, '', acct_id); var templete = userparse(json, '', acct_id);
$("#toot-rt").html(templete); $("#toot-rt").html(templete);
jQuery("time.timeago").timeago();
}); });
} }
//URL等のコピー //URL等のコピー
@@ -458,10 +389,10 @@ function cbCopy(mode) {
if(mode=="emb"){ 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>'; 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) execCopy(emb)
M.toast({ html: lang.lang_details_embed, displayLength: 1500 }) Materialize.toast(lang.lang_details_embed, 1500);
}else{ }else{
if(execCopy(url)){ if(execCopy(url)){
M.toast({ html: lang.lang_details_url, displayLength: 1500 }) Materialize.toast(lang.lang_details_url, 1500);
} }
} }
@@ -473,11 +404,11 @@ function staCopy(id) {
html = html.replace(/<br\s?\/?>/, "\n"); html = html.replace(/<br\s?\/?>/, "\n");
html = html.replace(/<p>/, "\n"); html = html.replace(/<p>/, "\n");
html = html.replace(/<\/p>/, "\n"); html = html.replace(/<\/p>/, "\n");
console.log("Copy it:\n" + html); console.log(html);
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, "$1"); html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, "$1");
html=$.strip_tags(html); html=$.strip_tags(html);
if(execCopy(html)){ if(execCopy(html)){
M.toast({ html: lang.lang_details_txt, displayLength: 1500 }) Materialize.toast(lang.lang_details_txt, 1500);
} }
} }
@@ -496,7 +427,7 @@ function trans(tar, to) {
} }
$("#toot-this .additional").text("Loading...(Powered by Google Translate)"); $("#toot-this .additional").text("Loading...(Powered by Google Translate)");
var exec='https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text='+encodeURIComponent(html)+'&source='+tar+'&target='+to var exec='https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text='+encodeURIComponent(html)+'&source='+tar+'&target='+to
console.log("Try to translate from " + tar + " to " + to + " at " + exec); console.log(exec);
fetch(exec, { fetch(exec, {
method: 'GET', method: 'GET',
}).then(function(response) { }).then(function(response) {
@@ -505,13 +436,17 @@ function trans(tar, to) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(text) { }).then(function(text) {
$("#toot-this .additional").html('<span class="gray translate">' + text.text + '</span>'); $("#toot-this .additional").html('<span class="gray">'+text.text+'</span>');
}); });
} }
//ブラウザで開く //ブラウザで開く
function brws(){ function brws(){
var url=$("#tootmodal").attr("data-url"); var url=$("#tootmodal").attr("data-url");
postMessage(["openUrl", url], "*") const {
shell
} = require('electron');
shell.openExternal(url);
} }
//外部からトゥート開く //外部からトゥート開く
function detEx(url,acct_id){ function detEx(url,acct_id){
@@ -534,7 +469,11 @@ function detEx(url, acct_id) {
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
if(!json.statuses){ if(!json.statuses){
postMessage(["openUrl", url], "*") const {
shell
} = require('electron');
shell.openExternal(url);
}else{ }else{
var id=json.statuses[0].id; var id=json.statuses[0].id;
$(".loadp").text($(".loadp").attr("href")); $(".loadp").text($(".loadp").attr("href"));

View File

@@ -1,69 +0,0 @@
//ディレクトリ
//ディレクトリトグル
function dirMenu() {
$("#dir-contents").html("");
directory();
$("#left-menu div").removeClass("active");
$("#dirMenu").addClass("active");
$(".menu-content").addClass("hide");
$("#dir-box").removeClass("hide");
}
function dirselCk() {
var acct = $("#dir-acct-sel").val();
if (acct == "noauth") {
$("#dirNoAuth").removeClass("hide");
} else {
$("#dirNoAuth").addClass("hide");
directory();
}
}
function directory(isMore) {
var order = $("[name=sort]:checked").val()
if (!order) {
order = "active"
}
var local_only = $("#local_only:checked").val()
if (local_only) {
local_only = "true"
} else {
local_only = "false"
}
var acct_id = $("#dir-acct-sel").val();
if (acct_id == "noauth") {
var domain = $("#dirNoAuth-url").val();
var at = "";
} else {
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
}
if (isMore) {
var addOffset = $("#dir-contents .cvo").length
} else {
var addOffset = 0
$("#dir-contents").html("");
}
var start = "https://" + domain + "/api/v1/directory?order=" + order + "&local=" + local_only + "&offset=" + addOffset
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) {
if (json) {
$("#moreDir").removeClass("disabled")
var html = userparse(json, null, acct_id, "dir", null)
$("#dir-contents").append(html)
jQuery("time.timeago").timeago();
} else {
$("#moreDir").addClass("disabled")
}
});
}

View File

@@ -57,6 +57,7 @@ function dmmore(tlid) {
} }
//DMオブジェクトパーサー(トゥート) //DMオブジェクトパーサー(トゥート)
function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) { function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) {
console.log(obj);
var templete = ''; var templete = '';
if(obj[0]){ if(obj[0]){
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix')); localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));

View File

@@ -77,12 +77,12 @@ function catchToggle(tlid) {
localStorage.removeItem("catch_" + tlid); localStorage.removeItem("catch_" + tlid);
$("#sta-del-" + tlid).text("Off"); $("#sta-del-" + tlid).text("Off");
$("#sta-del-" + tlid).css("color",'red'); $("#sta-del-" + tlid).css("color",'red');
parseColumn(tlid); parseColumn();
} else { } else {
localStorage.setItem("catch_" + tlid, "true"); localStorage.setItem("catch_" + tlid, "true");
$("#sta-del-" + tlid).text("On"); $("#sta-del-" + tlid).text("On");
$("#sta-del-" + tlid).css("color",'#009688'); $("#sta-del-" + tlid).css("color",'#009688');
parseColumn(tlid); parseColumn();
} }
} }
function catchCheck(tlid) { function catchCheck(tlid) {
@@ -114,6 +114,7 @@ function filter() {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/filters" var start = "https://" + domain + "/api/v1/filters"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -126,6 +127,7 @@ function filter() {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json) { if (json) {
var filters = ""; var filters = "";
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function(key) {
@@ -165,6 +167,7 @@ function makeNewFilter() {
if($("#conv_filter:checked").val()){ if($("#conv_filter:checked").val()){
cont.push("thread"); cont.push("thread");
} }
console.log(cont);
if(!cont.length){ if(!cont.length){
$("#filtered-words").html('Error:'+lang.lang_filter_errordegree); $("#filtered-words").html('Error:'+lang.lang_filter_errordegree);
} }
@@ -232,6 +235,7 @@ function filterEdit(id, acct_id) {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/filters/"+id var start = "https://" + domain + "/api/v1/filters/"+id
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -244,6 +248,7 @@ function filterEdit(id, acct_id) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json);
if (json) { if (json) {
var now = new Date() ; var now = new Date() ;
now = now.getTime() ; now = now.getTime() ;
@@ -292,6 +297,7 @@ function getFilter(acct_id) {
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)!="misskey"){ if(localStorage.getItem("mode_" + domain)!="misskey"){
var start = "https://" + domain + "/api/v1/filters" var start = "https://" + domain + "/api/v1/filters"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -335,6 +341,7 @@ function filterUpdate(acct_id) {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/filters" var start = "https://" + domain + "/api/v1/filters"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -370,7 +377,7 @@ function filterUpdateInternal(json, type) {
var text=$(elem).find('.toot').html(); var text=$(elem).find('.toot').html();
Object.keys(home).forEach(function(key8) { Object.keys(home).forEach(function(key8) {
var word = home[key8]; var word = home[key8];
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g"); var regExp = new RegExp( word, "g" );
if($.strip_tags(text).match(regExp)){ if($.strip_tags(text).match(regExp)){
$("[toot-id="+id+"]").addClass("hide"); $("[toot-id="+id+"]").addClass("hide");
} }
@@ -386,34 +393,45 @@ function filterUpdateInternal(json, type) {
*/ */
//通知フィルター //通知フィルター
function exclude(key){ function exclude(key){
localStorage.setItem("exclude-" + key, "") var excludetxt="";
var excludetxt = localStorage.getItem("exclude-" + key);
if($('#exc-reply-'+key+':checked').val()){ if($('#exc-reply-'+key+':checked').val()){
excludetxt="?exclude_types[]=mention" excludetxt="?exclude_types[]=mention"
var reply=true
}else{
var reply=false;
} }
if($('#exc-fav-'+key+':checked').val()){ if($('#exc-fav-'+key+':checked').val()){
if (excludetxt || excludetxt !="") { if(reply){
excludetxt=excludetxt+"&exclude_types[]=favourite" excludetxt=excludetxt+"&exclude_types[]=favourite"
}else{ }else{
excludetxt="?exclude_types[]=favourite" excludetxt="?exclude_types[]=favourite"
} }
var fav=true
}else{
var fav=false;
} }
if($('#exc-bt-'+key+':checked').val()){ if($('#exc-bt-'+key+':checked').val()){
if (excludetxt || excludetxt !="") { if(reply || fav){
excludetxt=excludetxt+"&exclude_types[]=reblog" excludetxt=excludetxt+"&exclude_types[]=reblog"
}else{ }else{
excludetxt="?exclude_types[]=reblog" excludetxt="?exclude_types[]=reblog"
} }
var bt=true
}else{
var bt=false;
} }
if($('#exc-follow-'+key+':checked').val()){ if($('#exc-follow-'+key+':checked').val()){
if (excludetxt || excludetxt !="") { if(reply || bt || fav){
excludetxt=excludetxt+"&exclude_types[]=follow" excludetxt=excludetxt+"&exclude_types[]=follow"
}else{ }else{
excludetxt="?exclude_types[]=follow" excludetxt="?exclude_types[]=follow"
} }
var follow=true;
}else{
var follow=false;
} }
if($('#exc-poll-'+key+':checked').val()){ if($('#exc-poll-'+key+':checked').val()){
if (excludetxt || excludetxt !="") { if(reply || bt || fav || follow){
excludetxt=excludetxt+"&exclude_types[]=poll" excludetxt=excludetxt+"&exclude_types[]=poll"
}else{ }else{
excludetxt="?exclude_types[]=poll" excludetxt="?exclude_types[]=poll"
@@ -421,7 +439,7 @@ function exclude(key) {
}else{ }else{
} }
localStorage.setItem("exclude-"+key,excludetxt) localStorage.setItem("exclude-"+key,excludetxt)
parseColumn(key); parseColumn();
} }
function excludeCk(key,target){ function excludeCk(key,target){
var exc=localStorage.getItem("exclude-"+key); var exc=localStorage.getItem("exclude-"+key);
@@ -434,25 +452,3 @@ function excludeCk(key, target) {
return ""; return "";
} }
} }
function checkNotfFilter(tlid){
var excludetxt = localStorage.getItem("exclude-" + tlid);
if(!excludetxt || excludetxt != ""){
return true;
}else{
return false;
}
}
function resetNotfFilter(tlid){
localStorage.setItem("exclude-" + tlid, "")
parseColumn(tlid);
}
function notfFilter(id,tlid,acct_id){
var excludetxt = localStorage.getItem("exclude-" + tlid);
if (excludetxt || excludetxt !="") {
excludetxt = excludetxt + "&account_id="+id
} else {
excludetxt = "?account_id="+id
}
localStorage.setItem("exclude-" + tlid, excludetxt)
parseColumn(tlid);
}

View File

@@ -40,6 +40,7 @@ function list() {
}); });
}else{ }else{
var start = "https://" + domain + "/api/v1/lists" var start = "https://" + domain + "/api/v1/lists"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -74,6 +75,7 @@ function makeNewList() {
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)!="misskey"){ if(localStorage.getItem("mode_" + domain)!="misskey"){
var start = "https://" + domain + "/api/v1/lists" var start = "https://" + domain + "/api/v1/lists"
console.log(start)
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true); httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -91,6 +93,7 @@ function makeNewList() {
} }
}else{ }else{
var start = "https://" + domain + "/api/users/lists/create" var start = "https://" + domain + "/api/users/lists/create"
console.log(start)
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true); httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -116,6 +119,7 @@ function listUser(id, acct_id) {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/lists/"+id+"/accounts" var start = "https://" + domain + "/api/v1/lists/"+id+"/accounts"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -135,7 +139,6 @@ function listUser(id, acct_id) {
templete=lang.lang_list_nouser; templete=lang.lang_list_nouser;
} }
$("#lists-user").html(templete); $("#lists-user").html(templete);
jQuery("time.timeago").timeago();
}else{ }else{
$("#lists-user").html(lang.lang_list_nouser); $("#lists-user").html(lang.lang_list_nouser);
} }
@@ -146,6 +149,7 @@ function hisList(user, acct_id) {
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
if(localStorage.getItem("mode_" + domain)!="misskey"){ if(localStorage.getItem("mode_" + domain)!="misskey"){
var start = "https://" + domain + "/api/v1/lists" var start = "https://" + domain + "/api/v1/lists"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -171,6 +175,7 @@ function hisList(user, acct_id) {
} }
}); });
var start = "https://" + domain + "/api/v1/accounts/"+user+"/lists" var start = "https://" + domain + "/api/v1/accounts/"+user+"/lists"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -240,6 +245,7 @@ function listAdd(id, user, acct_id) {
account_ids: [user] account_ids: [user]
} }
} }
console.log(start)
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
httpreq.open('POST', start, true); httpreq.open('POST', start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
@@ -271,6 +277,7 @@ function listRemove(id, user, acct_id) {
account_ids: [user] account_ids: [user]
} }
} }
console.log(start)
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
httpreq.open(method, start, true); httpreq.open(method, start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');

View File

@@ -50,18 +50,14 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
native="yes"; native="yes";
} }
//クライアント強調 //クライアント強調
var empCli = localStorage.getItem("client_emp"); var emp = localStorage.getItem("client_emp");
if (empCli) { if(emp){
var empCli = JSON.parse(empCli); var emp = JSON.parse(emp);
} else {
var empCli = [];
} }
//クライアントミュート //クライアントミュート
var muteCli = localStorage.getItem("client_mute"); var mute = localStorage.getItem("client_mute");
if (muteCli) { if(mute){
var muteCli = JSON.parse(muteCli); var mute = JSON.parse(mute);
} else {
var muteCli = [];
} }
//ユーザー強調 //ユーザー強調
var useremp = localStorage.getItem("user_emp"); var useremp = localStorage.getItem("user_emp");
@@ -69,19 +65,17 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var useremp = JSON.parse(useremp); var useremp = JSON.parse(useremp);
} }
//ワード強調 //ワード強調
var wordempList = localStorage.getItem("word_emp"); var wordemp = localStorage.getItem("word_emp");
if (wordempList) { if(wordemp){
var wordempList = JSON.parse(wordempList); var wordemp = JSON.parse(wordemp);
} }
//ワードミュート //ワードミュート
var wordmuteList = localStorage.getItem("word_mute"); var wordmute = localStorage.getItem("word_mute");
if (wordmuteList) { if(wordmute){
var wordmuteList = JSON.parse(wordmuteList); var wordmute = JSON.parse(wordmute);
if (wordmuteList) { wordmute = wordmute.concat(mutefilter);
wordmuteList = wordmuteList.concat(mutefilter);
}
}else{ }else{
wordmuteList = mutefilter; wordmute = mutefilter;
} }
//Ticker //Ticker
var tickerck = localStorage.getItem("ticker_ok"); var tickerck = localStorage.getItem("ticker_ok");
@@ -184,9 +178,9 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
noticeavatar = toot.user.avatarUrl; noticeavatar = toot.user.avatarUrl;
} }
noticeavatar='<a onclick="udg(\'' + toot.user.id + noticeavatar='<a onclick="udg(\'' + toot.user.id +
'\',' + acct_id + ');" user="' + toot.user.username + '" class="udg notf-icon">' + '\',' + acct_id + ');" user="' + toot.user.username + '" class="udg">' +
'<img src="' + noticeavatar + '<img src="' + noticeavatar +
'" width="20" class="prof-img" user="' + toot.user.username + '" width="20" class="notf-icon prof-img" user="' + toot.user.username +
'"></a>'; '"></a>';
if (toot.type == "reply") { if (toot.type == "reply") {
var what = lang.lang_parse_mentioned; var what = lang.lang_parse_mentioned;
@@ -209,7 +203,8 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
"congrats":"🎉", "congrats":"🎉",
"amgry":"💢", "amgry":"💢",
"confused":"😥", "confused":"😥",
"rip": "😇" "pudding":"🍮",
"star":"⭐"
} }
var icon=reactions[toot.reaction]; var icon=reactions[toot.reaction];
var emojisData = JSON.parse(localStorage.getItem("emoji_" + acct_id)); var emojisData = JSON.parse(localStorage.getItem("emoji_" + acct_id));
@@ -260,15 +255,28 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} }
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
if(popup>0){ if(popup>0){
M.toast({ html: "[" + domain + "]" + escapeHTMLtemp(toot.user.name) + what, displayLength: popup * 1000 }) Materialize.toast("["+domain+"]"+escapeHTMLtemp(toot.user.name)+what, popup * 1000);
} }
if(native=="yes"){ if(native=="yes"){
var os = localStorage.getItem("platform"); var electron = require("electron");
var ipc = electron.ipcRenderer;
var os = electron.remote.process.platform;
var options = { var options = {
body: toot.user.name+"(" + toot.user.username +")"+what+"\n\n"+$.strip_tagstemp(toot.note.text), body: toot.user.name+"(" + toot.user.username +")"+what+"\n\n"+$.strip_tagstemp(toot.note.text),
icon: toot.user.avatarUrl icon: toot.user.avatarUrl
}; };
if(os=="darwin"){
var n = new Notification('TheDesk:'+domain, options); var n = new Notification('TheDesk:'+domain, options);
}else{
ipc.send('native-notf', [
'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
]);
}
} }
if(localStorage.getItem("hasNotfC_" + acct_id)!="true"){ if(localStorage.getItem("hasNotfC_" + acct_id)!="true"){
$(".notf-icon_" + acct_id).addClass("red-text"); $(".notf-icon_" + acct_id).addClass("red-text");
@@ -335,24 +343,20 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var via = '<span style="font-style: italic;">Mobile</span>'; var via = '<span style="font-style: italic;">Mobile</span>';
}else{ }else{
var via = ''; var via = '';
viashow = "via-hide";
} }
} else { } else {
var via = escapeHTML(toot.app.name); var via = toot.app.name;
if (!toot.app.name) {
viashow = "via-hide";
}
//強調チェック //強調チェック
Object.keys(empCli).forEach(function (key6) { Object.keys(emp).forEach(function(key6) {
var empCliList = empCli[key6]; var cli = emp[key6];
if (empCliList == via) { if(cli == via){
boostback = "emphasized"; boostback = "emphasized";
} }
}); });
//ミュートチェック //ミュートチェック
Object.keys(muteCli).forEach(function (key7) { Object.keys(mute).forEach(function(key7) {
var muteCliList = muteCli[key7]; var cli = mute[key7];
if (muteCliList == via) { if(cli == via){
boostback = "hide"; boostback = "hide";
} }
}); });
@@ -363,7 +367,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var spoiler = "cw cw_hide_" + toot.id; var spoiler = "cw cw_hide_" + toot.id;
var api_spoil = "gray"; var api_spoil = "gray";
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id + var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
'\')" class="nex parsed cw_btn">' + lang.lang_parse_cwshow + '</a><br>'; '\')" class="nex parsed">'+lang.lang_parse_cwshow+'</a><br>';
} else { } else {
var ct1 = nl2br(toot.text).split('<br />').length -2; var ct1 = nl2br(toot.text).split('<br />').length -2;
var ct2 = nl2br(toot.text).split('<br>').length -2; var ct2 = nl2br(toot.text).split('<br>').length -2;
@@ -375,7 +379,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
'</span><span class="gray">'+lang.lang_parse_autofold+'</span>'; '</span><span class="gray">'+lang.lang_parse_autofold+'</span>';
var spoiler = "cw cw_hide_" + toot.id; var spoiler = "cw cw_hide_" + toot.id;
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id + var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
'\')" class="nex parsed cw_btn">' + lang.lang_parse_more + '</a><br>'; '\')" class="nex parsed">'+lang.lang_parse_more+'</a><br>';
} else { } else {
var content = escapeHTMLtemp(toot.text); var content = escapeHTMLtemp(toot.text);
if(toot.cw){ if(toot.cw){
@@ -489,16 +493,12 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
'" data-type="video" class="img-parsed"><video src="' + '" data-type="video" class="img-parsed"><video src="' +
purl + '" class="' + sense + purl + '" class="' + sense +
' toot-img pointer" style="max-width:100%;"></a></span>'; ' 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{ }else{
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' + viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url + acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
'" data-type="image" class="img-parsed"><img src="' + '" data-type="image" class="img-parsed"><img src="' +
purl + '" class="' + sense + purl + '" class="' + sense +
' toot-img pointer" style="width:' + cwdt + '%; height:' + imh + 'px;" onerror="this.src=\'../../img/loading.svg\'"></a></span>'; ' toot-img pointer" style="width:' + cwdt + '%; height:'+imh+'px;"></a></span>';
} }
}); });
@@ -514,7 +514,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
mentions = '<div style="float:right"><a onclick="udg(\'' + menck.user.id + '\',' + mentions = '<div style="float:right"><a onclick="udg(\'' + menck.user.id + '\',' +
acct_id + ')" class="pointer">@' + menck.user.username + '</a></div>'; acct_id + ')" class="pointer">@' + menck.user.username + '</a></div>';
} }
var tagck = toot.tags; var tagck = toot.tags[0];
var tags = ""; var tags = "";
//タグであれば //タグであれば
if (tagck) { if (tagck) {
@@ -569,7 +569,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var rt_app = ""; var rt_app = "";
/* /*
if (toot.reblogged) { if (toot.reblogged) {
var if_rt = "light-blue-text"; var if_rt = "teal-text";
var rt_app = "rted"; var rt_app = "rted";
} else { } else {
var if_rt = ""; var if_rt = "";
@@ -579,16 +579,16 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
//アバター //アバター
var avatar = toot.user.avatarUrl; var avatar = toot.user.avatarUrl;
//ワードミュート //ワードミュート
if (wordmuteList) { if(wordmute){
Object.keys(wordmuteList).forEach(function (key8) { Object.keys(wordmute).forEach(function(key8) {
var worde = wordmuteList[key8]; var worde = wordmute[key8];
if(worde){ if(worde){
if(worde.tag){ if(worde.tag){
var wordList = worde.tag; var word=worde.tag;
}else{ }else{
var wordList = worde var word=worde
} }
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g"); var regExp = new RegExp( word, "g" ) ;
if($.strip_tagstemp(content).match(regExp)){ if($.strip_tagstemp(content).match(regExp)){
boostback = "hide by_filter"; boostback = "hide by_filter";
} }
@@ -596,13 +596,13 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
}); });
} }
//ワード強調 //ワード強調
if (wordempList) { if(wordemp){
Object.keys(wordempList).forEach(function (key9) { Object.keys(wordemp).forEach(function(key9) {
var wordList = wordempList[key9]; var word = wordemp[key9];
if (wordList) { if(word){
var wordList = wordList.tag; var word=word.tag;
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g"); var regExp = new RegExp( word, "g" ) ;
content = content.replace(regExp, '<span class="emp">' + wordList + "</span>"); content=content.replace(regExp,'<span class="emp">'+word+"</span>");
} }
}); });
} }
@@ -649,10 +649,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var freeReact=""; var freeReact="";
} }
//Reactions //Reactions
if(toot.reactionCounts){
var addReact=""; var addReact="";
if (toot.reactions) { Object.keys(toot.reactionCounts).forEach(function(keye) {
Object.keys(toot.reactions).forEach(function (keye) { var thisReact=toot.reactionCounts[keye];
var thisReact = toot.reactions[keye];
if(keye=="like"){ var defaultEmoji=true;} if(keye=="like"){ var defaultEmoji=true;}
else if(keye=="love"){ var defaultEmoji=true; } else if(keye=="love"){ var defaultEmoji=true; }
else if(keye=="laugh"){ var defaultEmoji=true; } else if(keye=="laugh"){ var defaultEmoji=true; }
@@ -661,7 +661,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
else if(keye=="congrats"){ var defaultEmoji=true; } else if(keye=="congrats"){ var defaultEmoji=true; }
else if(keye=="angry"){ var defaultEmoji=true; } else if(keye=="angry"){ var defaultEmoji=true; }
else if(keye=="confused"){ var defaultEmoji=true; } else if(keye=="confused"){ var defaultEmoji=true; }
else if (keye == "star") { var defaultEmoji = true; } else if(keye=="pudding"){ var defaultEmoji=true; }
else{ else{
var obj = JSON.parse(localStorage.getItem("emoji_" + acct_id)); var obj = JSON.parse(localStorage.getItem("emoji_" + acct_id));
if(obj){ if(obj){
@@ -680,76 +680,76 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} }
} }
}); });
if (toot.reactions.like) { if(toot.reactionCounts.like){
var like = toot.reactions.like; var like=toot.reactionCounts.like;
var likehide=""; var likehide="";
}else{ }else{
var like=0; var like=0;
var likehide="hide"; var likehide="hide";
} }
if (toot.reactions.love) { if(toot.reactionCounts.love){
var love = toot.reactions.love; var love=toot.reactionCounts.love;
var lovehide=""; var lovehide="";
}else{ }else{
var love=0; var love=0;
var lovehide="hide"; var lovehide="hide";
} }
if (toot.reactions.laugh) { if(toot.reactionCounts.laugh){
var laugh = toot.reactions.laugh; var laugh=toot.reactionCounts.laugh;
var laughhide=""; var laughhide="";
}else{ }else{
var laugh=0; var laugh=0;
var laughhide="hide"; var laughhide="hide";
} }
if (toot.reactions.hmm) { if(toot.reactionCounts.hmm){
var hmm = toot.reactions.hmm; var hmm=toot.reactionCounts.hmm;
var hmmhide=""; var hmmhide="";
}else{ }else{
var hmm=0; var hmm=0;
var hmmhide="hide"; var hmmhide="hide";
} }
if (toot.reactions.surprise) { if(toot.reactionCounts.surprise){
var surprise = toot.reactions.surprise; var surprise=toot.reactionCounts.surprise;
var suphide=""; var suphide="";
}else{ }else{
var suphide="hide"; var suphide="hide";
var surprise=0; var surprise=0;
} }
if (toot.reactions.congrats) { if(toot.reactionCounts.congrats){
var congrats = toot.reactions.congrats; var congrats=toot.reactionCounts.congrats;
var conghide=""; var conghide="";
}else{ }else{
var congrats=0; var congrats=0;
var conghide="hide"; var conghide="hide";
} }
if (toot.reactions.angry) { if(toot.reactionCounts.angry){
var angry = toot.reactions.angry; var angry=toot.reactionCounts.angry;
var anghide=""; var anghide="";
}else{ }else{
var angry=0; var angry=0;
var anghide="hide"; var anghide="hide";
} }
if (toot.reactions.confused) { if(toot.reactionCounts.confused){
var confhide=""; var confhide="";
var confused = toot.reactions.confused; var confused=toot.reactionCounts.confused;
}else{ }else{
var confused=0; var confused=0;
var confhide="hide"; var confhide="hide";
} }
if (toot.reactions.rip) { if(toot.reactionCounts.pudding){
var riphide = ""; var pudding=toot.reactionCounts.pudding;
var rip = toot.reactions.rip; var pudhide="";
}else{ }else{
var rip = 0; var pudding=0;
var riphide = "hide"; var pudhide="hide";
} }
var fullhide=""; var fullhide="";
}else{ }else{
var like=0;var love=0;var laugh=0;var hmm=0;var surprise=0;var congrats=0;var angry=0;var confused=0;var pudding=0; var like=0;var love=0;var laugh=0;var hmm=0;var surprise=0;var congrats=0;var angry=0;var confused=0;var pudding=0;
var likehide = "hide"; var lovehide = "hide"; var laughhide = "hide"; var hmmhide = "hide"; var suphide = "hide"; var conghide = "hide"; var anghide = "hide"; var confhide = "hide"; var riphide = "hide" var likehide="hide";var lovehide="hide";var laughhide="hide";var hmmhide="hide";var suphide="hide";var conghide="hide";var anghide="hide";var confhide="hide";var pudhide="hide";
var fullhide="hide"; var fullhide="hide";
} }
if (!addReact && likehide == "hide" && lovehide == "hide" && laughhide == "hide" && hmmhide == "hide" && suphide == "hide" && conghide == "hide" && anghide == "hide" && confhide == "hide" && riphide == "hide") { if(!addReact && likehide=="hide"&& lovehide=="hide"&& laughhide=="hide"&& hmmhide=="hide"&& suphide=="hide"&& conghide=="hide"&& anghide=="hide"&& confhide=="hide"&& pudhide=="hide"){
var fullhide="hide"; var fullhide="hide";
} }
if(toot.myReaction){ if(toot.myReaction){
@@ -776,7 +776,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
'\',' + acct_id + ');" user="' + toot.user.username + '" class="udg">' + '\',' + acct_id + ');" user="' + toot.user.username + '" class="udg">' +
'<img src="' + avatar + '<img src="' + avatar +
'" width="40" class="prof-img" user="' + toot.user.username + '" width="40" class="prof-img" user="' + toot.user.username +
'" onerror="this.src=\'../../img/loading.svg\'"></a></div>' + '"></a></div>' +
'<div class="area-display_name"><div class="flex-name"><span class="user">' + '<div class="area-display_name"><div class="flex-name"><span class="user">' +
dis_name + dis_name +
'</span><span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;"> @' + '</span><span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;"> @' +
@@ -808,8 +808,8 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
',\'' + tlid +'\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">'+twemoji.parse("💢")+'</a><span class="re-angryct">'+angry+ ',\'' + tlid +'\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">'+twemoji.parse("💢")+'</a><span class="re-angryct">'+angry+
'</span></span><span class="'+confhide+' reaction re-confused"><a onclick="reaction(\'confused\',\'' + toot.id + '\',' + acct_id + '</span></span><span class="'+confhide+' reaction re-confused"><a onclick="reaction(\'confused\',\'' + toot.id + '\',' + acct_id +
',\'' + tlid +'\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">'+twemoji.parse("😥")+'</a><span class="re-confusedct">'+confused+ ',\'' + tlid +'\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">'+twemoji.parse("😥")+'</a><span class="re-confusedct">'+confused+
'</span></span><span class="' + riphide + ' reaction re-confused"><a onclick="reaction(\'confused\',\'' + toot.id + '\',' + acct_id + '</span></span><span class="'+pudhide+' reaction re-pudding"><a onclick="reaction(\'pudding\',\'' + toot.id + '\',' + acct_id +
',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">' + twemoji.parse("😇") + '</a><span class="re-confusedct">' + rip + ',\'' + tlid +'\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">'+twemoji.parse("🍮")+'</a><span class="re-puddingct">'+pudding+
'</span></span>'+addReact+ '</span></span>'+addReact+
'<i class="material-icons pointer hide freeReact '+freeReact+'" style="font-size:1.0rem; padding-left:5px;position: relative;top: 3px;" onclick="reactioncustom(\''+acct_id+'\',\''+id+'\')">add_box</i></div>' '<i class="material-icons pointer hide freeReact '+freeReact+'" style="font-size:1.0rem; padding-left:5px;position: relative;top: 3px;" onclick="reactioncustom(\''+acct_id+'\',\''+id+'\')">add_box</i></div>'
+poll + mentions + tags + '</div>' + +poll + mentions + tags + '</div>' +
@@ -820,10 +820,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
'<div class="action '+disp["re"]+' '+noauth+'"><a onclick="misskeyreply(\'' + toot.id + '<div class="action '+disp["re"]+' '+noauth+'"><a onclick="misskeyreply(\'' + toot.id +
'\',\'' + acct_id + '\',' + '\',\'' + acct_id + '\',' +
acct_id + ',\''+visen+ acct_id + ',\''+visen+
'\')" 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>' + '\')" class="waves-effect waves-dark btn-flat" 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 + '<div class="action '+can_rt+' '+disp["rt"]+' '+noauth+'"><a onclick="renote(\'' + toot.id + '\',' + acct_id +
',\'' + tlid + ',\'' + tlid +
'\')" 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 ' + '\')" class="waves-effect waves-dark btn-flat" 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>' + 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 + '<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>' + ',\'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>' +
@@ -841,7 +841,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
acct_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+ ')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_redraft+'"><i class="material-icons">redo</i></a></div>'+trans+
'<span class="cbadge viabadge waves-effect '+viashow+' '+mine_via+'" onclick="client(\''+$.strip_tagstemp(via)+'\')" title="via ' + $.strip_tagstemp(via) + '">via ' + '<span class="cbadge viabadge waves-effect '+viashow+' '+mine_via+'" onclick="client(\''+$.strip_tagstemp(via)+'\')" title="via ' + $.strip_tagstemp(via) + '">via ' +
via + escapeHTML(via) +
'</span>'+ '</span>'+
'</div><div class="area-side '+mouseover+'"><div class="action ' + if_mine + ' '+noauth+'"><a onclick="toggleAction(\'' + toot.id + '\',\''+tlid+'\',\''+acct_id+'\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' + '</div><div class="area-side '+mouseover+'"><div class="action ' + if_mine + ' '+noauth+'"><a onclick="toggleAction(\'' + toot.id + '\',\''+tlid+'\',\''+acct_id+'\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
'<div class="action '+noauth+'"><a onclick="details(\'' + toot.id + '\',' + acct_id + '<div class="action '+noauth+'"><a onclick="details(\'' + toot.id + '\',' + acct_id +
@@ -854,23 +854,15 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
//オブジェクトパーサー(ユーザーデータ) //オブジェクトパーサー(ユーザーデータ)
function misskeyUserparse(obj, auth, acct_id, tlid, popup) { function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
console.log(["Parse them ", obj])
if(popup > 0 || popup==-1){ if(popup > 0 || popup==-1){
}else{ }else{
if (obj.users) {
var obj = obj.users; var obj = obj.users;
} }
}
var templete = ''; var templete = '';
var datetype = localStorage.getItem("datetype"); var datetype = localStorage.getItem("datetype");
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var toot = obj[key]; var toot = obj[key];
if (toot.followee) {
toot = toot.followee
} else if (toot.follower) {
toot = toot.follower
}
var locked = ""; var locked = "";
if (auth) { if (auth) {
var auth = '<i class="material-icons gray pointer" onclick="misskeyRequest(\'' + var auth = '<i class="material-icons gray pointer" onclick="misskeyRequest(\'' +
@@ -890,7 +882,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
} }
var memory = localStorage.getItem("notice-mem"); var memory = localStorage.getItem("notice-mem");
if (popup >= 0 && obj.length < 5 && notftext != memory) { if (popup >= 0 && obj.length < 5 && notftext != memory) {
M.toast({ html: escapeHTMLtemp(toot.name) + ":" + ftxt, displayLength: popup * 1000 }) Materialize.toast(escapeHTMLtemp(toot.name)+":"+ftxt, popup * 1000);
$(".notf-icon_" + tlid).addClass("red-text"); $(".notf-icon_" + tlid).addClass("red-text");
localStorage.setItem("notice-mem", notftext); localStorage.setItem("notice-mem", notftext);
notftext = ""; notftext = "";
@@ -899,13 +891,26 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
native="yes"; native="yes";
} }
if(native=="yes"){ if(native=="yes"){
var os = localStorage.getItem("platform"); var electron = require("electron");
var ipc = electron.ipcRenderer;
var os = electron.remote.process.platform;
var options = { var options = {
body: toot.display_name+"(" + toot.acct +")"+ftxt, body: toot.display_name+"(" + toot.acct +")"+ftxt,
icon: toot.avatar icon: toot.avatar
}; };
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
if(os=="darwin"){
var n = new Notification('TheDesk:'+domain, options); var n = new Notification('TheDesk:'+domain, options);
}else{
ipc.send('native-notf', [
'TheDesk:'+domain,
toot.display_name+"(" + toot.acct +")"+ftxt,
toot.avatar,
"userdata",
acct_id,
toot.id
]);
}
} }
} }
if(toot.name){ if(toot.name){
@@ -914,16 +919,6 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
}else{ }else{
var dis_name=toot.username; var dis_name=toot.username;
} }
if (toot.followersCount) {
var ferct = toot.followersCount
} else {
var ferct = "unknown"
}
if (toot.followingCount) {
var fingct = toot.followingCount
} else {
var fingct = "unknown"
}
templete = templete + templete = templete +
'<div class="cvo" style="padding-top:5px;" user-id="' + toot.id + '"><div class="area-notice">' + '<div class="cvo" style="padding-top:5px;" user-id="' + toot.id + '"><div class="area-notice">' +
notftext + notftext +
@@ -938,8 +933,8 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
'</div>' + '</div>' +
'</div>' + '</div>' +
'<div style="justify-content:space-around" class="area-toot"> <div class="cbadge" style="width:100px;">Follows:' + '<div style="justify-content:space-around" class="area-toot"> <div class="cbadge" style="width:100px;">Follows:' +
fingct + toot.followingCount +
'</div><div class="cbadge" style="width:100px;">Followers:' + ferct + '</div><div class="cbadge" style="width:100px;">Followers:' + toot.followersCount +
'</div>' + '</div>' +
'</div>' + '</div>' +
'</div>' + '</div>' +
@@ -951,105 +946,9 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
function goGoogle(id){ function goGoogle(id){
var val=$("#srcbox_"+id).val(); var val=$("#srcbox_"+id).val();
var url="https://google.com/search?q="+val; var url="https://google.com/search?q="+val;
postMessage(["openUrl", url], "*") const {
} shell
var misskeyws = [] } = require('electron');
var misskeywsstate = []
function connectMisskey(acct_id, re) {
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "wss://" + domain +
"/streaming?i=" + at;
var wsid = misskeyws.length;
localStorage.setItem("misskey_wss_" + acct_id, wsid);
misskeyws[wsid] = new WebSocket(start);
misskeyws[wsid].onopen = function (mess) {
console.table({ "tlid": tlid, "type": "Connect Streaming API", "domain": domain, "message": [mess] })
misskeywsstate[wsid] = true
//$("#notice_icon_" + tlid).removeClass("red-text");
var send = '{"type":"connect","body":{"channel":"main","id":"notf:' + acct_id + '"}}'
misskeyws[wsid].send(send)
}
misskeyws[wsid].onmessage = function (mess) {
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;
var popup = localStorage.getItem("popup");
if (!popup) {
popup = 0;
}
if (JSON.parse(mess.data).body.type != "follow") {
templete = misskeyParse([obj.body], 'notf', acct_id, 'notf', popup);
} else {
templete = misskeyUserparse([obj.body], 'notf', acct_id, 'notf', popup);
}
if (JSON.parse(mess.data).body.type == "reaction") {
console.log("reaction refresh")
reactRefresh(acct_id, obj.body.note.id)
}
if (!$("div[data-notfIndv=" + acct_id + "_" + obj.body.id + "]").length) {
$("div[data-notf=" + acct_id + "]").prepend(templete);
$("div[data-const=notf_" + acct_id + "]").prepend(templete);
}
jQuery("time.timeago").timeago();
} else if (data.body.type == "note") {
var tlid = data.body.id * 1
var multi = localStorage.getItem("column");
var col = JSON.parse(multi)[tlid];
if (localStorage.getItem("voice_" + tlid)) {
var voice = true;
} else {
var voice = false;
}
if (voice) {
say(obj.text)
}
var templete = misskeyParse([obj], col.type, acct_id, tlid, "", mute);
misskeyws[wsid].send(JSON.stringify({
type: 'sn',
body: {
id: obj.id
}
}))
var pool = localStorage.getItem("pool_" + tlid);
if (pool) {
pool = templete + pool;
} else {
pool = templete
}
localStorage.setItem("pool_" + tlid, pool);
scrollck();
jQuery("time.timeago").timeago();
} else if (data.type == "noteUpdated") {
if (data.body.type == "reacted") {
reactRefresh(acct_id, data.body.id)
} else if (data.body.type == "deleted") {
$("#pub_" + data.body.id).hide();
$("#pub_" + data.body.id).remove();
}
}
}
misskeyws[wsid].onerror = function (error) {
console.error("Error closing " + tlid);
console.error(error);
misskeywsstate[wsid] = false
if(!re){
connectMisskey(acct_id, true)
}
return false;
};
misskeyws[wsid].onclose = function () {
console.warn("Closing " + tlid);
misskeywsstate[wsid] = false
if(!re){
connectMisskey(acct_id, true)
}
return false;
};
shell.openExternal(url);
} }

View File

@@ -1,5 +1,6 @@
//Integrated TL //Integrated TL
function mixtl(acct_id, tlid, type,delc,voice) { function mixtl(acct_id, tlid, type,delc,voice) {
console.log(delc);
localStorage.removeItem("morelock") localStorage.removeItem("morelock")
localStorage.setItem("now", type); localStorage.setItem("now", type);
todo("Integrated TL Loading...(Local)"); todo("Integrated TL Loading...(Local)");
@@ -43,15 +44,15 @@ function mixtl(acct_id, tlid, type, delc, voice) {
timeline.splice(20); timeline.splice(20);
} }
var templete=""; 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"){ if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),"mix"); var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),"mix");
}else{ }else{
var mute=[]; 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"){ if(type=="integrated"){
templete = templete+parse([timeline[key]], '', acct_id, tlid, "", mute, "mix"); templete = templete+parse([timeline[key]], '', acct_id, tlid, "", mute, "mix");
}else if(type=="plus"){ }else if(type=="plus"){
@@ -93,18 +94,21 @@ function mixre(acct_id, tlid, TLtype, mute, delc, voice, mode) {
websocketLocal[wslid] = new WebSocket(startLocal); websocketLocal[wslid] = new WebSocket(startLocal);
websocketHome[wshid].onopen = function(mess) { websocketHome[wshid].onopen = function(mess) {
localStorage.setItem("wssH_" + tlid, wshid); localStorage.setItem("wssH_" + tlid, wshid);
console.table({ "tlid": tlid, "type": "Connect Streaming API(Integrated:Home)", "domain": domain, "message": mess }) console.log(tlid + ":Connect Streaming API(Integrated:Home)");
console.log(mess);
$("#notice_icon_" + tlid).removeClass("red-text"); $("#notice_icon_" + tlid).removeClass("red-text");
} }
websocketLocal[wslid].onopen = function(mess) { websocketLocal[wslid].onopen = function(mess) {
localStorage.setItem("wssL_" + tlid, wslid); localStorage.setItem("wssL_" + tlid, wslid);
console.table({ "tlid": tlid, "type": "Connect Streaming API(Integrated:Local)", "domain": domain, "message": mess }) console.log(tlid + ":Connect Streaming API(Integrated:Local)");
console.log(mess);
$("#notice_icon_" + tlid).removeClass("red-text"); $("#notice_icon_" + tlid).removeClass("red-text");
} }
websocketLocal[wslid].onmessage = function(mess) { websocketLocal[wslid].onmessage = function(mess) {
console.log(["Receive Streaming API:(Integrated:Local)", obj]); console.log("Receive Streaming API:(Integrated:Local)");
var obj = JSON.parse(JSON.parse(mess.data).payload); var obj = JSON.parse(JSON.parse(mess.data).payload);
console.log(obj);
var type = JSON.parse(mess.data).event; var type = JSON.parse(mess.data).event;
if (type == "delete") { if (type == "delete") {
if(delc=="true"){ if(delc=="true"){
@@ -141,8 +145,10 @@ function mixre(acct_id, tlid, TLtype, mute, delc, voice, mode) {
} }
} }
websocketHome[wshid].onmessage = function(mess) { websocketHome[wshid].onmessage = function(mess) {
console.log(["Receive Streaming API:(Integrated:Home)", obj]); console.log("Receive Streaming API:(Integrated:Home)");
var obj = JSON.parse(JSON.parse(mess.data).payload); var obj = JSON.parse(JSON.parse(mess.data).payload);
console.log(obj);
var type = JSON.parse(mess.data).event; var type = JSON.parse(mess.data).event;
if (type == "delete") { if (type == "delete") {
if(del>10){ if(del>10){
@@ -205,7 +211,7 @@ function mixre(acct_id, tlid, TLtype, mute, delc, voice, mode) {
} }
}; };
websocketLocal[wslid].onclose = function() { websocketLocal[wslid].onclose = function() {
console.warn('WebSocketLocal Closing:' + tlid); console.log('WebSocketLocal Closing:' + tlid);
if(mode=="error"){ if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text"); $("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Closed'); todo('WebSocket Closed');
@@ -218,7 +224,8 @@ function mixre(acct_id, tlid, TLtype, mute, delc, voice, mode) {
} }
}; };
websocketHome[wshid].onerror = function(error) { websocketHome[wshid].onerror = function(error) {
console.error(['WebSocketHome Error', error]) console.error('WebSocketHome Error')
console.error(error);
if(mode=="error"){ if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text"); $("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Error ' + error); todo('WebSocket Error ' + error);
@@ -231,7 +238,7 @@ function mixre(acct_id, tlid, TLtype, mute, delc, voice, mode) {
} }
}; };
websocketHome[wshid].onclose = function() { websocketHome[wshid].onclose = function() {
console.warn('WebSocketHome Closing:' + tlid); console.log('WebSocketHome Closing:' + tlid);
if(mode=="error"){ if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text"); $("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Closed'); todo('WebSocket Closed');

View File

@@ -15,11 +15,12 @@ function notfColumn(acct_id, tlid, sys) {
native="yes"; native="yes";
} }
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
console.log(start)
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest();
if(localStorage.getItem("mode_" + domain)=="misskey"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
var misskey=true; var misskey=true;
var start = "https://" + domain + "/api/i/notifications"; var start = "https://" + domain + "/api/i/notifications";
httpreq.open("POST", start, true); httpreq.open(POST, start, true);
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
var body=JSON.stringify({ var body=JSON.stringify({
i:at i:at
@@ -43,10 +44,7 @@ function notfColumn(acct_id, tlid, sys) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
var max_id = httpreq.getResponseHeader("link"); var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
if (max_id) {
max_id = max_id.match(/[?&]{1}max_id=([0-9]+)/)[1]
}
if(json[0]){ if(json[0]){
var templete=""; var templete="";
var lastnotf=localStorage.getItem("lastnotf_" + acct_id); var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
@@ -58,12 +56,18 @@ function notfColumn(acct_id, tlid, sys) {
if(key>14){ if(key>14){
ct="15+"; ct="15+";
} }
var os = localStorage.getItem("platform"); var electron = require("electron");
var ipc = electron.ipcRenderer;
var os = electron.remote.process.platform;
var options = { var options = {
body: ct+lang.lang_notf_new, body: ct+lang.lang_notf_new,
icon: localStorage.getItem("prof_"+acct_id) icon: localStorage.getItem("prof_"+acct_id)
}; };
if(os=="darwin"){
var n = new Notification('TheDesk:'+domain, options); var n = new Notification('TheDesk:'+domain, options);
}else{
ipc.send('native-notf', ['TheDesk:'+domain,ct+lang.lang_notf_new,localStorage.getItem("prof_"+acct_id)]);
}
} }
if(localStorage.getItem("filter_"+ acct_id)!="undefined"){ if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
@@ -73,15 +77,15 @@ function notfColumn(acct_id, tlid, sys) {
} }
if(obj.type!="follow"){ if(obj.type!="follow"){
if(misskey){ if(misskey){
templete = templete + misskeyParse([obj], 'notf', acct_id, tlid, -1, mute); templete = templete+misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute);
}else{ }else{
templete = templete + parse([obj], 'notf', acct_id, tlid, -1, mute); templete = templete+parse([obj], 'notf', acct_id, 'notf', -1, mute);
} }
}else{ }else{
if(misskey){ if(misskey){
templete = templete + misskeyUserparse([obj], 'notf', acct_id, tlid, -1, mute); templete = templete+misskeyUserparse([obj], 'notf', acct_id, 'notf', -1, mute);
}else{ }else{
templete = templete + userparse([obj.account], 'notf', acct_id, tlid, -1); templete = templete+userparse([obj.account], 'notf', acct_id, 'notf', -1);
} }
} }
@@ -93,16 +97,6 @@ function notfColumn(acct_id, tlid, sys) {
} }
$("#notf-box").addClass("fetched"); $("#notf-box").addClass("fetched");
todc(); todc();
//Markers
var markers = localStorage.getItem("markers");
if (markers == "yes") {
markers = true;
} else {
markers = false
}
if (markers) {
getMarker(tlid, "notf", acct_id)
}
} }
} }
if(!misskey){ if(!misskey){
@@ -151,7 +145,7 @@ function notfCommon(acct_id, tlid, sys) {
} }
} }
fetch(start, i).then(function(response) { fetch(start, i).then(function(response) {
console.log("header to get param:" + response.headers.get('link')); console.log(response.headers.get('link'));
return response.json(); return response.json();
}).catch(function(error) { }).catch(function(error) {
todo(error); todo(error);
@@ -168,12 +162,18 @@ function notfCommon(acct_id, tlid, sys) {
if(key>14){ if(key>14){
ct="15+"; ct="15+";
} }
var os = localStorage.getItem("platform"); var electron = require("electron");
var ipc = electron.ipcRenderer;
var os = electron.remote.process.platform;
var options = { var options = {
body: ct+lang.lang_notf_new, body: ct+lang.lang_notf_new,
icon: localStorage.getItem("prof_"+acct_id) icon: localStorage.getItem("prof_"+acct_id)
}; };
if(os=="darwin"){
var n = new Notification('TheDesk:'+domain, options); var n = new Notification('TheDesk:'+domain, options);
}else{
ipc.send('native-notf', ['TheDesk:'+domain,ct+lang.lang_notf_new,localStorage.getItem("prof_"+acct_id)]);
}
} }
if(localStorage.getItem("filter_"+ acct_id)!="undefined"){ if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
@@ -202,11 +202,7 @@ function notfCommon(acct_id, tlid, sys) {
} }
$("#notf-box").addClass("fetched"); $("#notf-box").addClass("fetched");
todc(); todc();
notfWS(misskey, acct_id, tlid, domain, at)
}); });
}
function notfWS(misskey, acct_id, tlid, domain, at) {
if(!misskey){ if(!misskey){
if(localStorage.getItem("streaming_" + acct_id)){ if(localStorage.getItem("streaming_" + acct_id)){
var wss=localStorage.getItem("streaming_" + acct_id) var wss=localStorage.getItem("streaming_" + acct_id)
@@ -215,27 +211,60 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
} }
var start = wss + "/api/v1/streaming/?stream=user&access_token=" + var start = wss + "/api/v1/streaming/?stream=user&access_token=" +
at; at;
}else{
var start = "wss://" + domain + "/?i=" +
at;
}
console.log(start);
var wsid = websocketNotf.length; var wsid = websocketNotf.length;
websocketNotf[acct_id] = new WebSocket(start); websocketNotf[acct_id] = new WebSocket(start);
console.log(websocketNotf);
websocketNotf[acct_id].onopen = function(mess) { websocketNotf[acct_id].onopen = function(mess) {
console.table({ "acct_id": acct_id, "type": "Connect Streaming API(Notf)", "domain": domain, "message": [mess] }) console.log("Connect Streaming API(Notf):");
console.log(mess);
$("i[data-notf=" + acct_id +"]").removeClass("red-text"); $("i[data-notf=" + acct_id +"]").removeClass("red-text");
} }
websocketNotf[acct_id].onmessage = function(mess) { 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);
var popup = localStorage.getItem("popup"); var popup = localStorage.getItem("popup");
if (!popup) { if (!popup) {
popup = 0; popup = 0;
} }
console.log(domain)
if(misskey){
console.log("misskey")
console.log(JSON.parse(mess.data));
if (JSON.parse(mess.data).type == "notification") {
var obj = JSON.parse(mess.data).body;
console.log(obj);
if(obj.type!="follow"){
templete = misskeyParse([obj], 'notf', acct_id, 'notf', popup);
}else{
templete = misskeyUserparse([obj], 'notf', acct_id, 'notf', popup);
}
if(obj.type=="reaction"){
console.log("refresh")
reactRefresh(acct_id,obj.note.id)
}
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
$("div[data-notf=" + acct_id +"]").prepend(templete);
$("div[data-const=notf_"+acct_id+"]").prepend(templete);
}
jQuery("time.timeago").timeago();
}else if(JSON.parse(mess.data).type == "note-updated"){
var obj = JSON.parse(mess.data).body.note;
reactRefreshCore(obj)
}
}else{
var obj = JSON.parse(JSON.parse(mess.data).payload); var obj = JSON.parse(JSON.parse(mess.data).payload);
console.log(obj);
var type = JSON.parse(mess.data).event; var type = JSON.parse(mess.data).event;
if (type == "notification") { if (type == "notification") {
var templete=""; var templete="";
localStorage.setItem("lastnotf_" + acct_id,obj.id); localStorage.setItem("lastnotf_" + acct_id,obj.id);
if (!$("#unread_" + tlid + " .material-icons").hasClass("teal-text")) {
//markers show中はダメ
if(obj.type!="follow"){ if(obj.type!="follow"){
templete = parse([obj], 'notf', acct_id, 'notf', popup); templete = parse([obj], 'notf', acct_id, 'notf', popup);
}else{ }else{
@@ -246,35 +275,20 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
$("div[data-const=notf_"+acct_id+"]").prepend(templete); $("div[data-const=notf_"+acct_id+"]").prepend(templete);
} }
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
}
} else if (type == "delete") { } else if (type == "delete") {
$("[toot-id=" + obj + "]").hide(); $("[toot-id=" + obj + "]").hide();
$("[toot-id=" + obj + "]").remove(); $("[toot-id=" + obj + "]").remove();
} }
} }
}
websocketNotf[acct_id].onerror = function(error) { websocketNotf[acct_id].onerror = function(error) {
console.error('WebSocket Error ' + error); console.error('WebSocket Error ' + error);
errorct++;
console.log(errorct)
if (errorct < 3) {
notfWS(misskey, acct_id, tlid, domain, at)
}
}; };
websocketNotf[acct_id].onclose = function (error) {
console.error('WebSocket Close ' + error);
errorct++;
console.log(errorct)
if (errorct < 3) {
notfWS(misskey, acct_id, tlid, domain, at)
}
};
}
} }
//一定のスクロールで発火 //一定のスクロールで発火
function notfmore(tlid) { function notfmore(tlid) {
console.log({ "status": "kicked", "status": moreloading }); console.log(moreloading);
console.log("kicked");
var multi = localStorage.getItem("column"); var multi = localStorage.getItem("column");
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
var acct_id = obj[tlid].domain; var acct_id = obj[tlid].domain;
@@ -317,7 +331,7 @@ function notfmore(tlid) {
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response;
console.log(["More notifications on " + tlid, json]); console.log(json);
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1]; var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
if(json[0]){ if(json[0]){
var templete=""; var templete="";
@@ -401,10 +415,12 @@ function notfCanceler(acct) {
$(".notf-icon_" + acct).removeClass("red-text"); $(".notf-icon_" + acct).removeClass("red-text");
} }
function allNotfRead(){ function allNotfRead(){
console.log(localStorage.getItem("notf-fav_2"));
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
if (multi) { if (multi) {
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
console.log(key);
notfCanceler(key) notfCanceler(key)
}); });
} }

File diff suppressed because it is too large Load Diff

View File

@@ -2,31 +2,11 @@
function pollToggle() { function pollToggle() {
if ($("#poll").hasClass("hide")) { if ($("#poll").hasClass("hide")) {
$("#right-side").show() $("#right-side").show()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "calc(100% - 300px)")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1 + 300
} else {
width = 600
}
$("#post-box").css("width", width + "px")
$("#poll").removeClass("hide") $("#poll").removeClass("hide")
$("#pollsta").text(lang.lang_yesno)
} else { } else {
$("#right-side").hide() $("#right-side").hide()
$("#left-side").css("width", "100%")
$("#right-side").css("width", "300px")
var width = localStorage.getItem("postbox-width");
if (width) {
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width + "px")
$("#emoji").addClass("hide") $("#emoji").addClass("hide")
$("#poll").addClass("hide") $("#poll").addClass("hide")
$("#pollsta").text(lang.lang_no)
} }
} }
function pollProviderCk(){ function pollProviderCk(){
@@ -45,12 +25,13 @@ function pollCalc() {
var days=$("#days_poll").val(); var days=$("#days_poll").val();
var hrs=$("#hours_poll").val(); var hrs=$("#hours_poll").val();
var mins=$("#mins_poll").val(); var mins=$("#mins_poll").val();
console.log("Poll calc:" + days * 86400 + hrs * 3600 + mins * 60) console.log(days*86400+hrs*3600+mins*60)
return days*86400+hrs*3600+mins*60; return days*86400+hrs*3600+mins*60;
} }
//Vote //Vote
function voteSelMastodon(acct_id,id,to,mul){ function voteSelMastodon(acct_id,id,to,mul){
console.log('.vote_'+acct_id+'_'+id+'_'+to);
if($('.vote_'+acct_id+'_'+id+'_'+to).hasClass("sel")){ if($('.vote_'+acct_id+'_'+id+'_'+to).hasClass("sel")){
$('.vote_'+acct_id+'_'+id+'_'+to).css("background-color","transparent") $('.vote_'+acct_id+'_'+id+'_'+to).css("background-color","transparent")
$('.vote_'+acct_id+'_'+id+'_'+to).removeClass("sel"); $('.vote_'+acct_id+'_'+id+'_'+to).removeClass("sel");
@@ -109,17 +90,29 @@ function voteMastodonrefresh(acct_id, id) {
var start = "https://" + domain + "/api/v1/polls/"+id; var start = "https://" + domain + "/api/v1/polls/"+id;
httpreqd.open('GET', start, true); httpreqd.open('GET', start, true);
httpreqd.setRequestHeader('Content-Type', 'application/json'); httpreqd.setRequestHeader('Content-Type', 'application/json');
httpreqd.setRequestHeader('Authorization', 'Bearer ' + at);
httpreqd.responseType = 'json'; httpreqd.responseType = 'json';
httpreqd.send(); httpreqd.send(JSON.stringify({i:at,noteId:id}));
httpreqd.onreadystatechange = function() { httpreqd.onreadystatechange = function() {
if (httpreqd.readyState == 4) { if (httpreqd.readyState == 4) {
var json = httpreqd.response; var json = httpreqd.response;
console.log(["Refresh vote", json]); console.log(json);
if(!json){ if(!json){
return false; return false;
} }
var poll = pollParse(json, acct_id) var poll="";
var choices=json.options;
var myvote=lang.lang_parse_voted;
var result_hide="";
Object.keys(choices).forEach(function(keyc) {
var choice = choices[keyc];
if(!json.voted){
votesel='voteSelMastodon(\''+acct_id+'\',\''+json.id+'\','+keyc+','+json.multiple+')';
}
poll=poll+'<div class="pointer vote vote_'+acct_id+'_'+json.id+'_'+keyc+'" onclick="'+votesel+'">'+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') +
'"><i class="far fa-calendar-times"></i>' +
date(json.expires_at, datetype) + '</span>';
$('.vote_'+acct_id+'_'+json.id).html(poll) $('.vote_'+acct_id+'_'+json.id).html(poll)
} }
} }

View File

@@ -1,5 +1,4 @@
$voise = null; $voise = null;
isBouyomi = localStorage.getItem("voice_bouyomi");
$voiseName = lang.lang_speech; $voiseName = lang.lang_speech;
$voices = speechSynthesis.getVoices(); $voices = speechSynthesis.getVoices();
$synthes = new SpeechSynthesisUtterance(); $synthes = new SpeechSynthesisUtterance();
@@ -10,12 +9,9 @@ speechSynthesis.cancel()
if(!localStorage.getItem("voice_vol")){ if(!localStorage.getItem("voice_vol")){
localStorage.setItem("voice_vol",1) localStorage.setItem("voice_vol",1)
} }
voiceRate = localStorage.getItem("voice_speed"); $synthes.rate=localStorage.getItem("voice_speed");
$synthes.rate = voiceRate $synthes.pitch=localStorage.getItem("voice_pitch");
voicePitch = localStorage.getItem("voice_pitch"); $synthes.volume=localStorage.getItem("voice_vol");
$synthes.pitch = voicePitch
voiceVol = localStorage.getItem("voice_vol");
$synthes.volume = voiceVol
function say(msgr){ function say(msgr){
msg=voiceParse(msgr); msg=voiceParse(msgr);
var voice=localStorage.getItem("voicebank"); var voice=localStorage.getItem("voicebank");
@@ -36,21 +32,9 @@ $repeat = setInterval(function () {
if(voice){ if(voice){
var obj = JSON.parse(voice); var obj = JSON.parse(voice);
if(obj[0]){ if(obj[0]){
if (localStorage.getItem("voice_bouyomi")) {
var delim = "<bouyomi>";
var thisVoiceRate = voiceRate * 10 + 70
var thisVoicePitch = voicePitch * 50 + 70
var thisVoiceVol = voiceVol * 100
console.log(thisVoiceRate, thisVoicePitch, thisVoiceVol)
var command = 0x0001;
var type = 0;
var sends = "" + command + delim + thisVoiceRate + delim + thisVoicePitch + delim + thisVoiceVol + delim + type + delim + obj[0];
bouyomiConnect(sends)
} else {
$synthes.text = obj[0]; $synthes.text = obj[0];
console.log($synthes);
speechSynthesis.speak($synthes); speechSynthesis.speak($synthes);
}
obj.splice(0, 1); obj.splice(0, 1);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("voicebank", json); localStorage.setItem("voicebank", json);
@@ -71,19 +55,14 @@ function voiceToggle(tlid) {
if (voiceck) { if (voiceck) {
localStorage.removeItem("voice_" + tlid); localStorage.removeItem("voice_" + tlid);
speechSynthesis.cancel() speechSynthesis.cancel()
if (localStorage.getItem("voice_bouyomi")) {
var command = 0x0010;
var sends = "" + command;
bouyomiConnect(sends)
}
$("#sta-voice-" + tlid).text("Off"); $("#sta-voice-" + tlid).text("Off");
$("#sta-voice-" + tlid).css("color",'red'); $("#sta-voice-" + tlid).css("color",'red');
parseColumn(tlid); parseColumn();
} else { } else {
localStorage.setItem("voice_" + tlid, "true"); localStorage.setItem("voice_" + tlid, "true");
$("#sta-voice-" + tlid).text("On"); $("#sta-voice-" + tlid).text("On");
$("#sta-voice-" + tlid).css("color",'#009688'); $("#sta-voice-" + tlid).css("color",'#009688');
parseColumn(tlid); parseColumn();
} }
} }
function voiceCheck(tlid) { function voiceCheck(tlid) {
@@ -100,71 +79,31 @@ function voicePlay() {
if(speechSynthesis.speaking){ if(speechSynthesis.speaking){
speechSynthesis.cancel() speechSynthesis.cancel()
}else{ }else{
var text = $("#voicetxt").val(); $synthes.text = $("#voicetxt").val();
var rate = $("#voicespeed").val(); $synthes.rate = $("#voicespeed").val()/10;
var pitch = $("#voicepitch").val() $synthes.pitch = $("#voicepitch").val()/50;
var vol = $("#voicevol").val() $synthes.volume = $("#voicevol").val()/100;
if (localStorage.getItem("voice_bouyomi")) {
var delim = "<bouyomi>";
rate = rate * 1 + 70
pitch = pitch * 1 + 70
var command = 0x0001; // コマンドです。0x0001.読み上げ/0x0010.ポーズ/0x0020.再開/0x0030.スキップ
/*var speed = 100; // 速度50-200。-1を指定すると本体設定
var pitch = 100; // ピッチ50-200。-1を指定すると本体設定
var volume = 100; // ボリューム0-100。-1を指定すると本体設定*/
var type = 0; // 声質(0.本体設定/1.女性1/2.女性2/3.男性1/4.男性2/5.中性/6.ロボット/7.機械1/8.機械2)
var sends = "" + command + delim + rate + delim + pitch + delim + vol + delim + type + delim + text;
bouyomiConnect(sends)
} else {
$synthes.text = text
$synthes.rate = rate / 10
$synthes.pitch = pitch / 50
$synthes.volume = vol / 100;
speechSynthesis.speak($synthes); speechSynthesis.speak($synthes);
} }
} }
}
function voiceSettings(){ function voiceSettings(){
var awk = $("[name=bym]:checked").val();
if (awk == "yes") {
localStorage.setItem("voice_bouyomi", "yes");
M.toast({ html: "Bouyomi Chan connection requires WebSocket Plugin", displayLength: 3000 })
} else {
localStorage.removeItem("voice_bouyomi");
}
localStorage.setItem("voice_speed", $("#voicespeed").val()/10); localStorage.setItem("voice_speed", $("#voicespeed").val()/10);
localStorage.setItem("voice_pitch", $("#voicepitch").val()/50); localStorage.setItem("voice_pitch", $("#voicepitch").val()/50);
localStorage.setItem("voice_vol", $("#voicevol").val()/100); localStorage.setItem("voice_vol", $("#voicevol").val()/100);
M.toast({ html: lang.lang_speech_refresh, displayLength: 3000 }) Materialize.toast(lang.lang_speech_refresh, 3000);
} }
function voiceSettingLoad(){ function voiceSettingLoad(){
var flag = localStorage.getItem("voice_bouyomi");
if (flag) {
$("#bym_yes").prop("checked", true);
} else {
$("#bym_no").prop("checked", true);
}
var speed=localStorage.getItem("voice_speed"); var speed=localStorage.getItem("voice_speed");
var pitch=localStorage.getItem("voice_pitch"); var pitch=localStorage.getItem("voice_pitch");
var vol=localStorage.getItem("voice_vol"); var vol=localStorage.getItem("voice_vol");
if(speed){ if(speed){
$("#voicespeed").val(speed*10); $("#voicespeed").val(speed*10);
$("#voicespeedVal").text(speed * 10);
} }
if(pitch){ if(pitch){
$("#voicepitch").val(pitch*50); $("#voicepitch").val(pitch*50);
$("#voicepitchVal").text(pitch * 50);
} }
if(vol){ if(vol){
$("#voicevol").val(vol*100); $("#voicevol").val(vol*100);
$("#voicevolVal").text(vol * 100);
} }
} }
function bouyomiConnect(sends) {
var socket = new WebSocket('ws://localhost:50002/');
socket.onopen = function () {
socket.send(sends);
}
}

View File

@@ -1,24 +1,17 @@
//検索 //検索
//検索ボックストグル //検索ボックストグル
function searchMenu() { function searchMenu() {
$("#src-contents").html("");
trend();
$("#left-menu div").removeClass("active"); $("#left-menu div").removeClass("active");
$("#searchMenu").addClass("active"); $("#searchMenu").addClass("active");
$(".menu-content").addClass("hide"); $(".menu-content").addClass("hide");
$("#src-box").removeClass("hide"); $("#src-box").removeClass("hide");
//$('ul.tabs').tabs('select_tab', 'src-sta'); $('ul.tabs').tabs('select_tab', 'src-sta');
$("#src-contents").html("");
} }
//検索取得 //検索取得
function src(mode, offset) { function src(mode) {
if (!offset) {
$("#src-contents").html(""); $("#src-contents").html("");
var add = ""
} else {
var add = "&type=accounts&offset=" + $("#src-accts .cvo").length
}
var q = $("#src").val(); var q = $("#src").val();
var acct_id = $("#src-acct-sel").val(); var acct_id = $("#src-acct-sel").val();
if(acct_id=="tootsearch"){ if(acct_id=="tootsearch"){
@@ -34,11 +27,11 @@ function src(mode, offset) {
var user = $('#his-data').attr("user-id"); var user = $('#his-data').attr("user-id");
} }
if(!mode){ if(!mode){
var start = "https://" + domain + "/api/v2/search?q=" + q + add var start = "https://" + domain + "/api/v2/search?q=" + q
}else{ }else{
var start = "https://" + domain + "/api/v1/search?q=" + q var start = "https://" + domain + "/api/v1/search?q=" + q
} }
console.log("Try to search at " + start) console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -51,7 +44,7 @@ function src(mode, offset) {
src("v1") src("v1")
return false; return false;
}).then(function(json) { }).then(function(json) {
console.log(["Search", json]); console.log(json);
//ハッシュタグ //ハッシュタグ
if (json.hashtags[0]) { if (json.hashtags[0]) {
var tags = ""; var tags = "";
@@ -61,7 +54,7 @@ function src(mode, offset) {
tags = tags + '<a onclick="tl(\'tag\',\'' + tag + '\',\'' + acct_id + tags = tags + '<a onclick="tl(\'tag\',\'' + tag + '\',\'' + acct_id +
'\',\'add\')" class="pointer">#' + escapeHTML(tag) + '</a><br> '; '\',\'add\')" class="pointer">#' + escapeHTML(tag) + '</a><br> ';
}else{ }else{
tags = tags + graphDraw(tag, acct_id); tags=tags+graphDraw(tag);
} }
}); });
@@ -70,17 +63,12 @@ function src(mode, offset) {
//トゥート //トゥート
if (json.statuses[0]) { if (json.statuses[0]) {
var templete = parse(json.statuses,'',acct_id); var templete = parse(json.statuses,'',acct_id);
$("#src-contents").append("<br>Mentions<br>" + templete); $("#src-contents").append("Mentions<br>" + templete);
} }
//アカウント //アカウント
if (json.accounts[0]) { if (json.accounts[0]) {
var templete = userparse(json.accounts,'',acct_id); var templete = userparse(json.accounts,'',acct_id);
if (!offset) { $("#src-contents").append("Accounts<br>" + templete);
$("#src-contents").append("<br>Accounts<div id=\"src-accts\">" + templete + '</div><a onclick="src(false,\'more\')" class="pointer">more...</a>');
} else {
$("#src-accts").append(templete)
}
} }
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
}); });
@@ -95,13 +83,14 @@ function tsAdd(q) {
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
localStorage.setItem("card_" + obj.length,"true"); localStorage.setItem("card_" + obj.length,"true");
obj.push(add); obj.push(add);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("column", json); localStorage.setItem("column", json);
parseColumn('add'); parseColumn();
} }
function tootsearch(tlid,q){ function tootsearch(tlid,q){
var start = "https://tootsearch.chotto.moe/api/v1/search?from=0&sort=created_at%3Adesc&q=" + q var start = "https://tootsearch.chotto.moe/api/v1/search?from=0&sort=created_at%3Adesc&q=" + q
console.log("Toot srrach at " + start) console.log(start)
$("#notice_" + tlid).text("tootsearch("+q+")"); $("#notice_" + tlid).text("tootsearch("+q+")");
$("#notice_icon_" + tlid).text("search"); $("#notice_icon_" + tlid).text("search");
fetch(start, { fetch(start, {
@@ -117,10 +106,13 @@ function tootsearch(tlid, q) {
}).then(function(raw) { }).then(function(raw) {
var templete=""; var templete="";
var json=raw.hits.hits; var json=raw.hits.hits;
console.log(json);
var max_id = raw["hits"].length; var max_id = raw["hits"].length;
for(var i=0;i<json.length;i++){ for(var i=0;i<json.length;i++){
var toot = json[i]["_source"]; var toot = json[i]["_source"];
console.log(lastid)
if(lastid!=toot.uri){ if(lastid!=toot.uri){
console.log(toot);
if(toot && toot.account){ if(toot && toot.account){
templete = templete+parse([toot], "noauth", null, tlid, 0, [], "tootsearch") templete = templete+parse([toot], "noauth", null, tlid, 0, [], "tootsearch")
} }
@@ -141,6 +133,7 @@ function moreTs(tlid, q) {
var sid = $("#timeline_" + tlid + " .ts-marker").last().attr("data-maxid"); var sid = $("#timeline_" + tlid + " .ts-marker").last().attr("data-maxid");
moreloading=true; moreloading=true;
var start = "https://tootsearch.chotto.moe/api/v1/search?from="+sid+"&sort=created_at%3Adesc&q=" + q var start = "https://tootsearch.chotto.moe/api/v1/search?from="+sid+"&sort=created_at%3Adesc&q=" + q
console.log(start)
$("#notice_" + tlid).text("tootsearch("+q+")"); $("#notice_" + tlid).text("tootsearch("+q+")");
$("#notice_icon_" + tlid).text("search"); $("#notice_icon_" + tlid).text("search");
fetch(start, { fetch(start, {
@@ -156,10 +149,13 @@ function moreTs(tlid, q) {
}).then(function(raw) { }).then(function(raw) {
var templete=""; var templete="";
var json=raw.hits.hits; var json=raw.hits.hits;
console.log(json);
var max_id = raw["hits"].length; var max_id = raw["hits"].length;
for(var i=0;i<json.length;i++){ for(var i=0;i<json.length;i++){
var toot = json[i]["_source"]; var toot = json[i]["_source"];
console.log(lastid)
if(lastid!=toot.uri){ if(lastid!=toot.uri){
console.log(toot);
if(toot && toot.account){ if(toot && toot.account){
templete = templete+parse([toot], "noauth", null, tlid, 0, [], "tootsearch") templete = templete+parse([toot], "noauth", null, tlid, 0, [], "tootsearch")
} }
@@ -176,9 +172,10 @@ function moreTs(tlid, q) {
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
}); });
} }
function graphDraw(tag, acct_id) { function graphDraw(tag){
var tags=""; var tags="";
var his=tag.history; var his=tag.history;
console.log(his);
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 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 six=50-(his[6].uses/max*50);
var five=50-(his[5].uses/max*50); var five=50-(his[5].uses/max*50);
@@ -189,12 +186,12 @@ function graphDraw(tag, acct_id) {
var zero=50-(his[0].uses/max*50); var zero=50-(his[0].uses/max*50);
if(max===0){ if(max===0){
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+ 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>toot(s)&nbsp;<a onclick="tl(\'tag\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id + '</svg><span style="font-size:200%">'+his[0].uses+'</span>toots&nbsp;<a onclick="tl(\'tag\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id +
'\',\'add\')" class="pointer">#' + escapeHTML(tag.name) + '</a>&nbsp;'+his[0].accounts+lang.lang_src_people; '\',\'add\')" class="pointer">#' + escapeHTML(tag.name) + '</a>&nbsp;'+his[0].accounts+lang.lang_src_people;
}else{ }else{
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+ 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>'+ '<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>toot&nbsp;<a onclick="tl(\'tag\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id + '</svg><span style="font-size:200%">'+his[0].uses+'</span>toots&nbsp;<a onclick="tl(\'tag\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id +
'\',\'add\')" class="pointer">#' + escapeHTML(tag.name) + '</a>&nbsp;'+his[0].accounts+lang.lang_src_people; '\',\'add\')" class="pointer">#' + escapeHTML(tag.name) + '</a>&nbsp;'+his[0].accounts+lang.lang_src_people;
} }
@@ -205,48 +202,3 @@ function graphDraw(tag, acct_id) {
<path d="M0,0 L10,0 20,10 20,50" fill="#3F51B5"></path> <path d="M0,0 L10,0 20,10 20,50" fill="#3F51B5"></path>
</svg> </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="M-1,51, -1,' + six + ', 0,' + six + ' L10,' + five + ' 20,' + four + ' 30,' + three + ' 40,' + two + ' 50,' + one + ' 60,' + zero + ' 61,' + zero + ' 61,51 -1,51" style="stroke: #0f8c0c;fill: rgba(13,113,19,.25); stroke-width: 1;"></path></g>' +
'</svg><span style="font-size:200%">' + his[0].uses + '</span>toots&nbsp;<a onclick="tl(\'tag\',\'' + tag.name + '\',\'' + acct_id +
'\',\'add\')" class="pointer">#' + tag.name + '</a>&nbsp;' + his[0].accounts + lang.lang_src_people + "<br><br>";
$("#src-contents").append(tags);
});
});
}

View File

@@ -10,7 +10,7 @@ if (location.search) {
} }
//よく使うタグ //よく使うタグ
function tagShow(tag){ function tagShow(tag){
$("[data-tag=" + decodeURI(tag).toLowerCase() + "]").toggleClass("hide"); $("[data-tag="+decodeURI(tag)+"]").toggleClass("hide");
} }
//タグ追加 //タグ追加
function tagPin(tag){ function tagPin(tag){
@@ -58,7 +58,7 @@ function favTag() {
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var tag = obj[key]; var tag = obj[key];
if(nowPT!=tag){ if(nowPT!=tag){
console.log("stable tags:" + nowPT + "/" + tag); console.log(nowPT+"/"+tag);
var ptt=lang.lang_tags_realtime; var ptt=lang.lang_tags_realtime;
var nowon=""; var nowon="";
}else{ }else{
@@ -80,6 +80,7 @@ function trendTag() {
var domain="imastodon.net" var domain="imastodon.net"
var at = localStorage.getItem("acct_"+ acct_id + "_at"); var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/trend_tags" var start = "https://" + domain + "/api/v1/trend_tags"
console.log(start)
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
@@ -120,34 +121,11 @@ function autoToot(tag) {
var nowPT=localStorage.getItem("stable") var nowPT=localStorage.getItem("stable")
if(nowPT==tag){ if(nowPT==tag){
localStorage.removeItem("stable"); localStorage.removeItem("stable");
M.toast({ html: lang.lang_tags_unrealtime, displayLength: 3000 }) Materialize.toast(lang.lang_tags_unrealtime,3000);
}else{ }else{
localStorage.setItem("stable",tag); localStorage.setItem("stable",tag);
M.toast({ html: lang.lang_tags_tagwarn.replace("{{tag}}", tag).replace("{{tag}}", tag), displayLength: 3000 }) Materialize.toast(lang.lang_tags_tagwarn.replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
brInsert('#' + tag+" ") brInsert('#' + tag+" ")
} }
favTag(); favTag();
} }
//タグをフィーチャー
function tagFeature(name, acct_id){
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v1/featured_tags"
fetch(start, {
method: 'POST',
headers: {
'content-type': 'application/json',
'Authorization': 'Bearer ' + at
},
body: JSON.stringify({
name: name
})
}).then(function (response) {
return response.json();
}).catch(function (error) {
return false;
}).then(function (json) {
console.log(json)
M.toast({ html: "Complete: " + escapeHTML(name), displayLength: 3000 })
});
}

View File

@@ -1,15 +1,13 @@
//TL取得 //TL取得
moreloading=false; moreloading=false;
var errorct=0;
function tl(type, data, acct_id, tlid, delc, voice, mode) { function tl(type, data, acct_id, tlid, delc, voice, mode) {
scrollevent(); scrollevent();
$("#unread_" + tlid + " .material-icons").removeClass("teal-text")
localStorage.removeItem("morelock"); localStorage.removeItem("morelock");
localStorage.removeItem("pool"); localStorage.removeItem("pool");
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id);
//タグとかの場合はカラム追加して描画 //タグとかの場合はカラム追加して描画
if (tlid == "add") { if (tlid == "add") {
console.log("add new column"); console.log("add");
var newtab = $(".box").length; var newtab = $(".box").length;
var add = { var add = {
domain: acct_id, domain: acct_id,
@@ -20,9 +18,10 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
localStorage.setItem("card_" + obj.length,"true"); localStorage.setItem("card_" + obj.length,"true");
obj.push(add); obj.push(add);
console.log(obj);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("column", json); localStorage.setItem("column", json);
parseColumn('add'); parseColumn();
return; return;
} }
@@ -126,14 +125,14 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
}; };
} }
console.log(["Try to get timeline of " + tlid, start]) console.log(start);
fetch(start, i).then(function(response) { fetch(start, i).then(function(response) {
return response.json(); return response.json();
}).catch(function(error) { }).catch(function(error) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(["Result of getting timeline of " + tlid, json]) console.log(json)
$("#landing_" + tlid).hide(); $("#landing_" + tlid).hide();
if(localStorage.getItem("filter_"+ acct_id)!="undefined"){ if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),type); var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),type);
@@ -151,18 +150,6 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
todc(); todc();
reload(type, '', acct_id, tlid, data, mute, delc,voice); reload(type, '', acct_id, tlid, data, mute, delc,voice);
if (type == "home" || type == "notf") {
//Markers
var markers = localStorage.getItem("markers");
if (markers == "yes") {
markers = true;
} else {
markers = false
}
if (markers) {
getMarker(tlid, type, acct_id)
}
}
$(window).scrollTop(0); $(window).scrollTop(0);
}); });
} }
@@ -177,14 +164,34 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
localStorage.setItem("now", type); localStorage.setItem("now", type);
if(localStorage.getItem("mode_" + domain)=="misskey"){ if(localStorage.getItem("mode_" + domain)=="misskey"){
var misskey=true; var misskey=true;
var key = localStorage.getItem("misskey_wss_" + acct_id) console.log(type);
var send = '{"type":"connect","body":{"channel":"' + typePs(type) + '","id":"' + tlid + '"}}' if (type == "home") {
var mskyset = setInterval(function () { var start = "wss://" + domain +
if (misskeywsstate[key]) { "/?i=" + at;
misskeyws[key].send(send) } else if (type == "pub") {
clearInterval(mskyset) var start = "wss://" + domain +
"/global-timeline?i=" + at;
} else if (type == "pub-media") {
var start = "wss://" + domain +
"/global-timeline?i=" + at;
} else if (type == "local") {
var start = "wss://" + domain +
"/local-timeline?i=" + at;
} else if (type == "local-media") {
var start = "wss://" + domain +
"/local-timeline?i=" + at;
} else if (type == "mix") {
var start = "wss://" + domain +
"/hybrid-timeline?i=" + at;
} else if (type == "tag") {
Materialize.toast(lang.lang_misskeyparse_tagnostr, 3000);
} else if (type == "noauth") {
var start = "wss://" + acct_id +
"/local-timeline?i=" + at;
} else if (type=="list"){
var start = "wss://" + domain +
"/user-list?i=" + at+"&listId="+data;
} }
}, 100);
}else{ }else{
var misskey=false; var misskey=false;
if(localStorage.getItem("streaming_" + acct_id)){ if(localStorage.getItem("streaming_" + acct_id)){
@@ -226,16 +233,20 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
var start = wss + var start = wss +
"/api/v1/streaming/?stream=direct&access_token=" + at; "/api/v1/streaming/?stream=direct&access_token=" + at;
} }
}
console.log(start);
var wsid = websocket.length; var wsid = websocket.length;
localStorage.setItem("wss_" + tlid, wsid); localStorage.setItem("wss_" + tlid, wsid);
websocket[wsid] = new WebSocket(start); websocket[wsid] = new WebSocket(start);
websocket[wsid].onopen = function(mess) { websocket[wsid].onopen = function(mess) {
console.table({ "tlid": tlid, "type": "Connect Streaming API" + type, "domain": domain, "message": [mess] }) console.log(tlid + ":Connect Streaming API:" + type);
errorct=0 console.log(mess);
$("#notice_icon_" + tlid).removeClass("red-text") $("#notice_icon_" + tlid).removeClass("red-text");
} }
websocket[wsid].onmessage = function(mess) { websocket[wsid].onmessage = function(mess) {
console.log([tlid + ":Receive Streaming API:", JSON.parse(mess.data)]); console.log(tlid + ":Receive Streaming API:");
console.log(JSON.parse(mess.data));
if(misskey){ if(misskey){
if (JSON.parse(mess.data).type == "note") { if (JSON.parse(mess.data).type == "note") {
var obj = JSON.parse(mess.data).body; var obj = JSON.parse(mess.data).body;
@@ -271,15 +282,14 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
$("#timeline_"+tlid+" [toot-id=" + JSON.parse(mess.data).payload + "]").addClass("emphasized"); $("#timeline_"+tlid+" [toot-id=" + JSON.parse(mess.data).payload + "]").addClass("emphasized");
$("#timeline_"+tlid+" [toot-id=" + JSON.parse(mess.data).payload + "]").addClass("by_delcatch"); $("#timeline_"+tlid+" [toot-id=" + JSON.parse(mess.data).payload + "]").addClass("by_delcatch");
}else{ }else{
$("[toot-id=" + JSON.parse(mess.data).payload + "]").hide() $("[toot-id=" + JSON.parse(mess.data).payload + "]").hide();
$("[toot-id=" + JSON.parse(mess.data).payload + "]").remove() $("[toot-id=" + JSON.parse(mess.data).payload + "]").remove();
} }
} else if (typeA == "update" || typeA == "conversation") { } else if (typeA == "update" || typeA == "conversation") {
localStorage.removeItem("delete") localStorage.removeItem("delete");
if (!$("#unread_" + tlid + " .material-icons").hasClass("teal-text")) {
//markers show中はダメ
var obj = JSON.parse(JSON.parse(mess.data).payload); var obj = JSON.parse(JSON.parse(mess.data).payload);
console.log(obj);
if($("#timeline_" + tlid +" [toot-id=" + obj.id + "]").length < 1){ if($("#timeline_" + tlid +" [toot-id=" + obj.id + "]").length < 1){
if(voice){ if(voice){
say(obj.content) say(obj.content)
@@ -304,7 +314,6 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
} }
todc(); todc();
}
}else if(typeA=="filters_changed"){ }else if(typeA=="filters_changed"){
filterUpdate(acct_id); filterUpdate(acct_id);
} }
@@ -316,11 +325,11 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
console.error("Error closing"); console.error("Error closing");
console.error(error); console.error(error);
if(mode=="error"){ if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text") $("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Error ' + error); todo('WebSocket Error ' + error);
}else{ }else{
errorct++; var errorct=localStorage.getItem("wserror_" + tlid)*1+1;
console.log(errorct) localStorage.setItem("wserror_" + tlid,errorct);
if(errorct<3){ if(errorct<3){
reconnector(tlid,type,acct_id,data,"error"); reconnector(tlid,type,acct_id,data,"error");
} }
@@ -328,20 +337,21 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
return false; return false;
}; };
websocket[wsid].onclose = function() { websocket[wsid].onclose = function() {
console.warn("Closing " + tlid); console.log("Closing");
console.log(tlid);
if(mode=="error"){ if(mode=="error"){
$("#notice_icon_" + tlid).addClass("red-text") $("#notice_icon_" + tlid).addClass("red-text");
todo('WebSocket Closed'); todo('WebSocket Closed');
}else{ }else{
errorct++; var errorct=localStorage.getItem("wserror_" + tlid)*1+1;
console.log(errorct) localStorage.setItem("wserror_" + tlid,errorct);
if(errorct<3){ if(errorct<3){
reconnector(tlid,type,acct_id,data,"error"); reconnector(tlid,type,acct_id,data,"error");
} }
} }
return false; return false;
}; };
}
} }
//一定のスクロールで発火 //一定のスクロールで発火
@@ -443,11 +453,7 @@ function moreload(type, tlid) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
if (localStorage.getItem("filter_" + acct_id) != "undefined") { console.log(json);
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type);
} else {
var mute = [];
}
if(misskey){ if(misskey){
var templete = misskeyParse(json, '', acct_id, tlid,"",mute); var templete = misskeyParse(json, '', acct_id, tlid,"",mute);
}else{ }else{
@@ -463,7 +469,7 @@ function moreload(type, tlid) {
} }
//TL差分取得 //TL差分取得
function tlDiff(type, data, acct_id, tlid, delc, voice, mode) { function tlDiff(type, data, acct_id, tlid, delc, voice, mode) {
console.log("Get diff of TL" + tlid) console.log("sabun")
var multi = localStorage.getItem("column"); var multi = localStorage.getItem("column");
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
var acct_id = obj[tlid].domain; var acct_id = obj[tlid].domain;
@@ -556,7 +562,7 @@ function tlDiff(type, data, acct_id, tlid, delc, voice, mode) {
todo(error); todo(error);
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(["Result diff of TL" + tlid, json]); console.log(json);
if(misskey){ if(misskey){
var templete = misskeyParse(json, '', acct_id, tlid,"",mute); var templete = misskeyParse(json, '', acct_id, tlid,"",mute);
}else{ }else{
@@ -580,12 +586,12 @@ function tlCloser() {
Object.keys(websocket).forEach(function(tlid) { Object.keys(websocket).forEach(function(tlid) {
if (websocketOld[tlid]) { if (websocketOld[tlid]) {
websocketOld[tlid].close(); websocketOld[tlid].close();
console.log("%c Close Streaming API: Old" + tlid, "color:blue"); console.log("Close Streaming API: Old" + tlid);
} }
if (websocket[0]) { if (websocket[0]) {
console.log(websocket[0]); console.log(websocket[0]);
websocket[tlid].close(); websocket[tlid].close();
console.log("%c Close Streaming API:" + tlid, "color:blue"); console.log("Close Streaming API:" + tlid);
} }
}); });
@@ -593,7 +599,7 @@ function tlCloser() {
Object.keys(websocketHome).forEach(function(tlid) { Object.keys(websocketHome).forEach(function(tlid) {
if (websocketHome[tlid]) { if (websocketHome[tlid]) {
websocketHome[tlid].close(); websocketHome[tlid].close();
console.log("%c Close Streaming API:Integrated Home" + tlid, "color:blue"); console.log("Close Streaming API:MixHome" + tlid);
} }
}); });
@@ -601,7 +607,7 @@ function tlCloser() {
Object.keys(websocketLocal).forEach(function(tlid) { Object.keys(websocketLocal).forEach(function(tlid) {
if (websocketLocal[tlid]) { if (websocketLocal[tlid]) {
websocketLocal[tlid].close(); websocketLocal[tlid].close();
console.log("%c Close Streaming API:Integrated Local" + tlid, "color:blue"); console.log("Close Streaming API:MixLocal" + tlid);
} }
}); });
@@ -609,17 +615,11 @@ function tlCloser() {
Object.keys(websocketNotf).forEach(function(tlid) { Object.keys(websocketNotf).forEach(function(tlid) {
if (websocketNotf[tlid]) { if (websocketNotf[tlid]) {
websocketNotf[tlid].close(); websocketNotf[tlid].close();
console.log("%c Close Streaming API:Notf" + tlid, "color:blue"); console.log("Close Streaming API:Notf" + tlid);
} }
}); });
Object.keys(misskeyws).forEach(function (tlid) { websocketNotf = [];
if (misskeyws[tlid]) {
misskeyws[tlid].close();
console.log("%c Close Streaming API:Misskey" + tlid, "color:blue");
}
});
misskeyws = {}
} }
//TLのタイトル //TLのタイトル
@@ -710,24 +710,6 @@ function com(type, data) {
return "direct?" return "direct?"
} }
} }
//Misskey
function typePs(type) {
if (type == "home") {
return "homeTimeline"
} else if (type == "local" || type == "noauth") {
return "localTimeline"
} else if (type == "local-media") {
return "localTimeline"
} else if (type == "pub") {
return "globalTimeline"
} else if (type == "mix") {
return "hybridTimeline"
} else if (type == "tag") {
return "hashtag"
} else if (type == "list") {
return "userList"
}
}
function misskeycom(type, data) { function misskeycom(type, data) {
if (type == "home") { if (type == "home") {
return "timeline" return "timeline"
@@ -793,6 +775,7 @@ function strAlive() {
var type=obj[key].type; var type=obj[key].type;
var acct_id=obj[key].domain; var acct_id=obj[key].domain;
var data=obj[key].data; var data=obj[key].data;
localStorage.removeItem("wserror_" + tlid)
reconnector(key,type,acct_id,data,"error"); reconnector(key,type,acct_id,data,"error");
} }
}); });
@@ -804,7 +787,7 @@ function strAliveInt() {
setTimeout(strAlive, 10000); setTimeout(strAlive, 10000);
} }
function reconnector(tlid,type,acct_id,data,mode){ function reconnector(tlid,type,acct_id,data,mode){
console.log("%c Reconnector:" + mode + "(timeline" + tlid + ")", "color:pink") console.log("Reconnector:"+mode)
if(type=="mix" || type=="integrated" || type=="plus"){ if(type=="mix" || type=="integrated" || type=="plus"){
if(localStorage.getItem("voice_" + tlid)){ if(localStorage.getItem("voice_" + tlid)){
var voice=true; var voice=true;
@@ -838,264 +821,6 @@ function reconnector(tlid, type, acct_id, data, mode) {
} }
reload(type, '', acct_id, tlid, data, mute, "",voice,mode); reload(type, '', acct_id, tlid, data, mute, "",voice,mode);
} }
M.toast({ html: lang.lang_tl_reconnect, displayLength: 2000 }) Materialize.toast(lang.lang_tl_reconnect, 2000);
}
function columnReload(tlid, type) {
$("#notice_icon_" + tlid).addClass("red-text");
$("#unread_" + tlid + " .material-icons").removeClass("teal-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") {
$("#notice_icon_" + tlid).removeClass("red-text");
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() strAliveInt()
//Markers
function getMarker(tlid, type, acct_id) {
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
if (type == "home") {
var add = "home"
} else if (type == "notf") {
var add = "notifications"
}
var start = "https://" + domain + "/api/v1/markers?timeline=" + add
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
'Authorization': 'Bearer ' + at
},
}).then(function (response) {
return response.json();
}).catch(function (error) {
$("#unread_" + tlid).attr("title", lang.lang_layout_unread + ":" + lang.lang_nothing)
$("#unread_" + tlid).attr("data-id", "")
return false;
}).then(function (json) {
if (json) {
if (json[add]) {
json = json[add]
$("#unread_" + tlid).attr("title", lang.lang_layout_unread + ":" + json.updated_at + ' v' + json.version)
$("#unread_" + tlid).attr("data-id", json.last_read_id)
} else {
$("#unread_" + tlid).attr("title", lang.lang_layout_unread + ":" + lang.lang_nothing)
$("#unread_" + tlid).attr("data-id", "")
}
} else {
$("#unread_" + tlid).attr("title", lang.lang_layout_unread + ":" + lang.lang_nothing)
$("#unread_" + tlid).attr("data-id", "")
}
});
}
function showUnread(tlid, type, acct_id) {
if ($("#unread_" + tlid + " .material-icons").hasClass("teal-text")) {
goTop(tlid)
return
}
$("#unread_" + tlid + " .material-icons").addClass("teal-text")
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var id = $("#unread_" + tlid).attr("data-id")
if (type == "home") {
var add = "timelines/home?min_id=" + id
} else if (type == "notf") {
var add = "notifications?min_id=" + id
}
var start = "https://" + domain + "/api/v1/" + add
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) {
if (!json || !json.length) {
columnReload(tlid, type)
}
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type);
} else {
var mute = [];
}
var templete = parse(json, type, acct_id, tlid, "", mute, type);
var len = json.length - 1
$("#timeline_" + tlid).html(templete);
if ($("#timeline_" + tlid + " .cvo:eq(" + len + ")").length) {
var to = $("#timeline_" + tlid + " .cvo:eq(" + len + ")").offset().top
$("#timeline_box_" + tlid + "_box .tl-box").scrollTop(to)
}
additional(acct_id, tlid);
jQuery("time.timeago").timeago();
todc();
});
}
var ueloadlock = false
function ueload(tlid) {
if (ueloadlock) {
return false
}
ueloadlock = true
var multi = localStorage.getItem("column")
var obj = JSON.parse(multi)
var acct_id = obj[tlid * 1].domain
var type = obj[tlid * 1].type
var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at")
var id = $("#timeline_" + tlid + " .cvo:eq(0)").attr("unique-id")
if (type == "home") {
var add = "timelines/home?min_id=" + id
} else if (type == "notf") {
var add = "notifications?min_id=" + id
}
var start = "https://" + domain + "/api/v1/" + add
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) {
if (!json) {
columnReload(tlid, type)
}
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type)
} else {
var mute = []
}
var templete = parse(json, '', acct_id, tlid, "", mute, type)
var len = json.length - 1
$("#timeline_" + tlid).prepend(templete)
if ($("#timeline_" + tlid + " .cvo:eq(" + len + ")").length) {
var to = $("#timeline_" + tlid + " .cvo:eq(" + len + ")").offset().top
$("#timeline_box_" + tlid + "_box .tl-box").scrollTop(to)
}
additional(acct_id, tlid)
jQuery("time.timeago").timeago()
todc()
ueloadlock = false
});
}
function asRead(callback) {
//Markers
var markers = localStorage.getItem("markers");
if (markers == "no") {
markers = false;
} else {
markers = true
}
if (markers) {
var multi = localStorage.getItem("column")
var obj = JSON.parse(multi)
var obl = obj.length
ct = 0
for (var i = 0; i < obl; i++) {
var acct_id = obj[i].domain
var type = obj[i].type
if (type == "home" || type == "notf") {
if (type == "home") {
var id = $("#timeline_" + i + " .cvo:eq(0)").attr("unique-id")
var poster = {
home: {
last_read_id: id
}
}
} else {
var id = $("#timeline_" + i + " .cvo:eq(0)").attr("data-notf")
var poster = {
notifications: {
last_read_id: id
}
}
}
var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at")
var httpreq = new XMLHttpRequest()
var start = "https://" + domain + "/api/v1/markers"
httpreq.open('POST', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = "json"
httpreq.send(JSON.stringify(poster))
httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) {
var json = httpreq.response
console.log(json)
ct++
if (ct == obl && callback) {
postMessage(["asReadComp", ""], "*")
}
}
}
}
}
}
}
function asReadEnd() {
//Markers
var markers = localStorage.getItem("markers");
if (markers == "no") {
markers = false;
} else {
markers = true
}
if (markers) {
asRead(true)
Swal.fire({
title: lang.lang_tl_postmarkers_title,
html: lang.lang_tl_postmarkers,
timer: 3000,
onBeforeOpen: () => {
Swal.showLoading()
},
onClose: () => {
}
}).then((result) => {
})
} else {
postMessage(["asReadComp", ""], "*")
}
}

View File

@@ -59,6 +59,7 @@ function imgv(id, key, acct_id) {
$("#imagemodal").css("width",width+"px") $("#imagemodal").css("width",width+"px")
} }
}else{ }else{
console.log("long")
$("#imagemodal img").css("width","auto") $("#imagemodal img").css("width","auto")
var widthS=windowH/height*width; var widthS=windowH/height*width;
if(widthS<windowW){ if(widthS<windowW){
@@ -148,6 +149,7 @@ function imgCont(type) {
$("#imagemodal").css("width",width+"px") $("#imagemodal").css("width",width+"px")
} }
}else{ }else{
console.log("long")
$("#imagemodal img").css("width","auto") $("#imagemodal img").css("width","auto")
var widthS=windowH/height*width; var widthS=windowH/height*width;
if(widthS<windowW){ if(widthS<windowW){
@@ -165,6 +167,7 @@ function imgCont(type) {
} else { } else {
$("#image-next").prop("disabled", false); $("#image-next").prop("disabled", false);
} }
console.log("#" + id + "-image-" + (key * 1 - 1));
if ($("#" + id + "-image-" + (key * 1 - 1)).length === 0) { if ($("#" + id + "-image-" + (key * 1 - 1)).length === 0) {
$("#image-prev").prop("disabled", true); $("#image-prev").prop("disabled", true);
} else { } else {
@@ -228,6 +231,7 @@ function zoom(z) {
$(this).on('touchmove', function(event) { $(this).on('touchmove', function(event) {
if ($(target).data('down') === true) { if ($(target).data('down') === true) {
// スクロール // スクロール
console.log($(target).data('x'));
target.scrollLeft($(target).data('scrollLeft') + $(target).data('x') - target.scrollLeft($(target).data('scrollLeft') + $(target).data('x') -
getX(event)); getX(event));
target.scrollTop($(target).data('scrollTop') + $(target).data('y') - target.scrollTop($(target).data('scrollTop') + $(target).data('y') -
@@ -271,14 +275,22 @@ function detFromImg() {
//画像保存 //画像保存
function dlImg(){ function dlImg(){
var url=$("#imgmodal").attr("src"); var url=$("#imgmodal").attr("src");
var electron = require("electron");
var ipc = electron.ipcRenderer;
if(localStorage.getItem("savefolder")){ if(localStorage.getItem("savefolder")){
var save=localStorage.getItem("savefolder"); var save=localStorage.getItem("savefolder");
}else{ }else{
var save=""; var save="";
} }
postMessage(["generalDL", [url, save, false]], "*") ipc.send('general-dl', [url,save,false]);
ipc.on('general-dl-prog', function (event, arg) {
console.log(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);
})
} }
function openFinder(dir){ function openFinder(dir){
postMessage(["openFinder", dir], "*") ipc.send('open-finder', dir);
} }

13
app/js/ui/jquery-ui.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -20,12 +20,8 @@ $('.type').click(function () {
$("#type-sel").val($(this).attr("data-type")) $("#type-sel").val($(this).attr("data-type"))
}) })
//最初、カラム変更時に発火 //最初、カラム変更時に発火
function parseColumn(target, dontclose) { function parseColumn() {
if (target === 0) { console.log("parse");
//this is kuso
target = "zero"
}
console.log("%c Parse column", "color:red;font-size:125%");
var size = localStorage.getItem("size"); var size = localStorage.getItem("size");
if (size) { if (size) {
$("#timeline-container").css("font-size", size + "px"); $("#timeline-container").css("font-size", size + "px");
@@ -35,10 +31,7 @@ function parseColumn(target, dontclose) {
if(localStorage.getItem("menu-done")){ if(localStorage.getItem("menu-done")){
$("#fukidashi").addClass("hide") $("#fukidashi").addClass("hide")
} }
if (!dontclose && !target) {
tlCloser(); tlCloser();
}
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
if (multi) { if (multi) {
var obj = JSON.parse(multi); var obj = JSON.parse(multi);
@@ -46,7 +39,6 @@ function parseColumn(target, dontclose) {
var templete; var templete;
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var acct = obj[key]; var acct = obj[key];
localStorage.setItem("name_" + key, acct.name); localStorage.setItem("name_" + key, acct.name);
localStorage.setItem("user_" + key, acct.user); localStorage.setItem("user_" + key, acct.user);
localStorage.setItem("user-id_" + key, acct.id); localStorage.setItem("user-id_" + key, acct.id);
@@ -57,16 +49,10 @@ function parseColumn(target, dontclose) {
ckdb(key); ckdb(key);
//フィルターデータ読もう //フィルターデータ読もう
getFilter(key); getFilter(key);
var domain = localStorage.getItem("domain_" + key);
if (localStorage.getItem("mode_" + domain) == "misskey") {
localStorage.removeItem("misskey_wss_" + key)
connectMisskey(key, false)
}
localStorage.removeItem("emoji_" + key) //カスタム絵文字カテゴリ分け用旧データ削除
}); });
} }
var acctlist=obj; var acctlist=obj;
console.table(obj); console.log(obj);
/*var xed=localStorage.getItem("xed"); /*var xed=localStorage.getItem("xed");
if(xed){ if(xed){
xpand(); xpand();
@@ -82,37 +68,13 @@ function parseColumn(target, dontclose) {
} else { } else {
var obj = JSON.parse(col); 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) { if ($("#timeline-container").length) {
$("#timeline-container").html(""); $("#timeline-container").html("");
$(".box, .boxIn").resizable("destroy");
}
} }
var basekey=0; var basekey=0;
for(var key=0;key<obj.length;key++){ for(var key=0;key<obj.length;key++){
var next=key+1; var next=key+1;
//acctって言いながらタイムライン
var acct = obj[key]; var acct = obj[key];
if (tlidtar) {
if (tlidtar == "zero") {
key = 0
} else {
key = tlidtar
}
}
if(acct.type=="notf"){ if(acct.type=="notf"){
var notf_attr=' data-notf='+acct.domain; var notf_attr=' data-notf='+acct.domain;
var if_notf="hide"; var if_notf="hide";
@@ -158,16 +120,6 @@ function parseColumn(target, dontclose) {
}else{ }else{
localStorage.removeItem("hasNotfC_" + acct.domain); localStorage.removeItem("hasNotfC_" + acct.domain);
} }
var width = localStorage.getItem("width");
if (width) {
var css = " min-width:" + width + "px;"
}
if(acct.width){
var css = " min-width:" + acct.width + "px;max-width:" + acct.width + "px;"
}
if(!css){
var css = ""
}
if(acct.type=="webview"){ if(acct.type=="webview"){
if(localStorage.getItem("fixwidth")){ if(localStorage.getItem("fixwidth")){
var fixwidth=localStorage.getItem("fixwidth"); var fixwidth=localStorage.getItem("fixwidth");
@@ -181,7 +133,10 @@ function parseColumn(target, dontclose) {
if(!acct.left_fold){ if(!acct.left_fold){
basekey=key; basekey=key;
} }
var width = localStorage.getItem("width");
if (width) {
var css=" min-width:"+width+"px;"
}
var anime = localStorage.getItem("animation"); var anime = localStorage.getItem("animation");
if (anime=="yes" || !anime) { if (anime=="yes" || !anime) {
var animecss="box-anime"; var animecss="box-anime";
@@ -190,49 +145,34 @@ function parseColumn(target, dontclose) {
} }
unstreamingTL(acct.type,key,basekey,insert,icnsert,acct.left_fold,css,animecss,acct.data); unstreamingTL(acct.type,key,basekey,insert,icnsert,acct.left_fold,css,animecss,acct.data);
}else{ }else{
var width = localStorage.getItem("width");
if (width) {
var css=" min-width:"+width+"px;"
}
var anime = localStorage.getItem("animation"); var anime = localStorage.getItem("animation");
if (anime=="yes" || !anime) { if (anime=="yes" || !anime) {
var animecss="box-anime"; var animecss="box-anime";
}else{ }else{
var animecss=""; var animecss="";
} }
var unread = '<a id="unread_' + key + '" onclick="showUnread(' + key + ',\'' + acct.type + '\',\'' + acct.domain + '\')" class="setting nex" title="' + lang.lang_layout_unread + '"><i class="material-icons waves-effect nex">more</i></a>'
if(acct.type=="notf"){ if(acct.type=="notf"){
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> ' + 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> '+
'<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> ' + '<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> '+
'<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> ' + '<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> '+
'<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> ' + '<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> '+
'<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> ' + '<input type="checkbox" class="filled-in" id="exc-follow-'+key+'" '+excludeCk(key,"poll")+' /><label for="exc-poll-'+key+'" class="exc-chb" ><i class="fas fa-tasks exc-icons"></i></label> '+
'<button class="btn waves-effect" style="width:60px; padding:0;" onclick="exclude(' + key + ')">Filter</button>'; '<button class="btn waves-effect" style="width:60px; padding:0;" onclick="exclude('+key+')">Filter</button><br>';
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>";
}else if(acct.type=="home"){ }else if(acct.type=="home"){
var exclude='<a onclick="ebtToggle(' + key + 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-' + ')" 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-' +
key + '">Off</span></a>'+lang.lang_layout_excludingbt+'<br>'; key + '">Off</span></a>'+lang.lang_layout_excludingbt+'<br>';
}else{ }else{
var exclude=""; var exclude="";
unread = ""
}
var markers = localStorage.getItem("markers");
if (markers == "yes") {
markers = true;
} else {
markers = false
}
if (!markers) {
unread = ""
} }
if(!acct.left_fold){ if(!acct.left_fold){
basekey=key; basekey=key;
if (!numtarget) {
var basehtml = '<div style="'+css+'" class="box '+animecss+'" id="timeline_box_' + basekey + '_parentBox"></div>'; var basehtml = '<div style="'+css+'" class="box '+animecss+'" id="timeline_box_' + basekey + '_parentBox"></div>';
$("#timeline-container").append(basehtml); $("#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>'; 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{ }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>'; 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>';
@@ -240,26 +180,13 @@ function parseColumn(target, dontclose) {
if(key===0){ if(key===0){
left_hold=''; left_hold='';
} }
if (localStorage.getItem("mode_" + localStorage.getItem("domain_" + acct.domain)) == "misskey") {
var isMisRed = ""
exclude = ""
var if_misskey_hide = "hide"
} else {
var isMisRed = "red-text"
var if_misskey_hide = ""
}
if(acct.height){
var addHeight = " min-height:" + acct.height + "px;max-height:" + acct.height + "px;"
}else {
var addHeight = ""
}
var html='<div class="boxIn" id="timeline_box_' + key + '_box" tlid="' + key + var html='<div class="boxIn" id="timeline_box_' + key + '_box" tlid="' + key +
'" data-acct="' + acct.domain + '" style="' + addHeight + '"><div class="notice-box z-depth-2" id="menu_' + key + '" style="' + insert + ' ">' + '" data-acct="'+acct.domain+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+' ">'+
'<div class="area-notice"><i class="material-icons waves-effect ' + isMisRed + '" id="notice_icon_' + key + '"' + notf_attr + ' style="font-size:40px; padding-top:25%;" onclick="checkStr(\'' + acct.type + '\', \'' + data + '\', \'' + acct.domain + '\', \'' + key + '\', \'' + delc + '\',\'' + voice + '\',null)" title="' + lang.lang_layout_gotop + '"></i></div>' + '<div class="area-notice"><i class="material-icons waves-effect red-text" id="notice_icon_' + key + '"'+notf_attr+' style="font-size:40px; padding-top:25%;" onclick="checkStr(\''+acct.type+'\', \''+data+'\', \''+acct.domain+'\', \''+key+'\', \''+delc+'\',\''+voice+'\',null)" title="'+lang.lang_layout_gotop +'"></i></div>'+
'<div class="area-notice_name"><span id="notice_' + key + '" class="tl-title"></span></div>'+ '<div class="area-notice_name"><span id="notice_' + key + '" class="tl-title"></span></div>'+
'<div class="area-a1"><a onclick="notfToggle(' + acct.domain + ',' + key + '<div class="area-a1"><a onclick="notfToggle(' + acct.domain + ',' + key +
')" class="setting nex '+if_notf+'" title="'+unique_notf+'"'+icnsert+'><i class="material-icons waves-effect nex notf-icon_' + ')" class="setting nex '+if_notf+'" title="'+unique_notf+'"'+icnsert+'><i class="material-icons waves-effect nex notf-icon_' +
acct.domain + '">notifications</i></a>' + unread + '</div><div class="area-sta"><span class="new badge teal notf-reply_' + acct.domain + ' hide" data-badge-caption="Reply">0</span><span class="new badge yellow black-text notf-fav_' + acct.domain + ' hide" data-badge-caption="Fav">0</span><span class="new badge blue notf-bt_' + acct.domain + ' hide" data-badge-caption="BT">0</span><span class="new badge orange notf-follow_' + acct.domain + ' hide" data-badge-caption="Follow">0</span></div>' + acct.domain + '">notifications</i></div><div class="area-sta"><span class="new badge teal notf-reply_'+acct.domain+' hide" data-badge-caption="Reply">0</span><span class="new badge yellow black-text notf-fav_'+acct.domain+' hide" data-badge-caption="Fav">0</span><span class="new badge blue notf-bt_'+acct.domain+' hide" data-badge-caption="BT">0</span><span class="new badge orange notf-follow_'+acct.domain+' hide" data-badge-caption="Follow">0</span></a></div>'+
'<div class="area-a2"><a onclick="removeColumn(' + key + '<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>'+ ')" 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 + '<div class="area-a3"><a onclick="setToggle(' + key +
@@ -271,16 +198,12 @@ function parseColumn(target, dontclose) {
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_mediafil +'">perm_media</i><span id="sta-media-' + ')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_mediafil +'">perm_media</i><span id="sta-media-' +
key + '">On</span></a>'+lang.lang_layout_mediafil +'<br><a onclick="cardToggle(' + key + key + '">On</span></a>'+lang.lang_layout_mediafil +'<br><a onclick="cardToggle(' + key +
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_linkanades +'">link</i><span id="sta-card-' + ')" 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 + 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 + '">' + ')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_tts +'">hearing</i><span id="sta-voice-' +
'">On</span></a>' + lang.lang_layout_tts + 'TL<br><a onclick="columnReload(' + key + key + '">On</span></a>'+lang.lang_layout_tts +'TL<br><a onclick="reconnector(' + key +
',\'' + acct.type + '\')" class="setting nex ' + if_misskey_hide + '"><i class="material-icons waves-effect nex" title="' + lang.lang_layout_reconnect + '">refresh</i></a><span>' + 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 + ',\''+acct.type+'\',\''+acct.domain+'\',\''+escapeHTML(acct.data)+'\')" class="setting nex '+if_notf+'"><i class="material-icons waves-effect nex '+if_notf+'" title="'+lang.lang_layout_reconnect+'">low_priority</i></a><span class="'+if_notf+'">'+lang.lang_layout_reconnect+'</span><br>'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
'" class="tl '+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>' '" 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>'
if (numtarget) { $('#timeline_box_' + basekey + '_parentBox').append(html);
$('timeline_box_' + key + '_box').html(html)
} else {
$('#timeline_box_' + basekey + '_parentBox').append(html)
}
localStorage.removeItem("pool_" + key); localStorage.removeItem("pool_" + key);
if (acct.data) { if (acct.data) {
var data = acct.data; var data = acct.data;
@@ -304,7 +227,6 @@ function parseColumn(target, dontclose) {
mediaCheck(key); mediaCheck(key);
catchCheck(key); catchCheck(key);
voiceCheck(key); voiceCheck(key);
var css = ""
} }
} }
var box = localStorage.getItem("box"); var box = localStorage.getItem("box");
@@ -315,7 +237,6 @@ function parseColumn(target, dontclose) {
$("#bottom").removeClass("reverse"); $("#bottom").removeClass("reverse");
$(".leftside").removeClass("reverse"); $(".leftside").removeClass("reverse");
} }
$("#bottom").removeClass("hide");
if(localStorage.getItem("sec") && localStorage.getItem("sec")!="nothing"){ if(localStorage.getItem("sec") && localStorage.getItem("sec")!="nothing"){
secvis(localStorage.getItem("sec")); secvis(localStorage.getItem("sec"));
} }
@@ -332,43 +253,10 @@ function parseColumn(target, dontclose) {
} }
} }
} }
$(".box, .boxIn").resizable({
minHeight: 50,
minWidth: 50,
grid: 50,
resize: function (event, ui) {
$(this).css("min-width", ui.size.width + "px")
$(this).css("max-width", ui.size.width + "px")
$(this).css("min-height", ui.size.height + "px")
$(this).css("max-height", ui.size.height + "px")
},
stop: function (event, ui) {
var col = localStorage.getItem("column");
var o = JSON.parse(col);
var width = ui.size.width
var height = ui.size.height
if ($(this).hasClass("boxIn")) {
//縦幅。その縦幅を持つカラムのidは
console.log("tate")
var key = $(this).attr("tlid")
var obj = o[key];
obj.height = height;
o[key] = obj;
} else {
//横幅。その縦幅を持つカラムのidは
console.log("yoko")
var key = $(this).find(".boxIn").attr("tlid")
var obj = o[key];
obj.width = width;
o[key] = obj;
}
var json = JSON.stringify(o);
localStorage.setItem("column", json);
}
});
} }
function checkStr(type, data, acct_id, key, delc,voice){ function checkStr(type, data, acct_id, key, delc,voice){
if($('#notice_icon_' + key).hasClass("red-text") && type!="notf" && type!="mix"){ if($('#notice_icon_' + key).hasClass("red-text") && type!="notf" && type!="mix"){
console.log("sabun-get")
goTop(key); goTop(key);
tlDiff(type, data, acct_id, key, delc,voice,""); tlDiff(type, data, acct_id, key, delc,voice,"");
}else{ }else{
@@ -401,9 +289,7 @@ function secvis(set) {
//カラム追加 //カラム追加
function addColumn() { function addColumn() {
var acct = $("#add-acct-sel").val(); var acct = $("#add-acct-sel").val();
if (acct != "webview" && acct != "noauth") {
localStorage.setItem("last-use", acct); localStorage.setItem("last-use", acct);
}
var type = $("#type-sel").val(); var type = $("#type-sel").val();
if(acct=="noauth"){ if(acct=="noauth"){
acct=$("#noauth-url").val(); acct=$("#noauth-url").val();
@@ -429,7 +315,7 @@ function addColumn() {
localStorage.setItem("column", json); localStorage.setItem("column", json);
} }
parseColumn('add'); parseColumn();
} }
function addselCk(){ function addselCk(){
var acct = $("#add-acct-sel").val(); var acct = $("#add-acct-sel").val();
@@ -457,28 +343,27 @@ function addselCk() {
function removeColumn(tlid) { function removeColumn(tlid) {
$("#sort-box").addClass("hide"); $("#sort-box").addClass("hide");
$("#sort-box").removeClass("show"); $("#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 multi = localStorage.getItem("column");
var obj = JSON.parse(multi); 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) {
console.log(arg);
if(arg===1){
localStorage.removeItem("card_" + tlid);
obj.splice(tlid, 1); 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); var json = JSON.stringify(obj);
localStorage.setItem("column", json); localStorage.setItem("column", json);
sortLoad() parseColumn();
$("#timeline_box_" + tlid + "_parentBox").remove() sortload()
} }
$("#sort-box").removeClass("hide"); })
$("#sort-box").addClass("show");
});
} }
//設定トグル //設定トグル
@@ -565,7 +450,7 @@ function webviewParse(url, key, insert, icnsert, css) {
'" style="'+css+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+'">'+ '" style="'+css+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+'">'+
'<div class="area-notice"><i class="fab fa-twitter waves-effect" id="notice_icon_' + key + '" style="font-size:40px; padding-top:25%;"></i></div>'+ '<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-notice_name tl-title">WebView('+url+')</div>'+
'<div class="area-sta"></div>' + '<div class="area-sta"><input type="checkbox" id="webviewsel" value="true" class="filled-in"><label for="webviewsel">'+lang.lang_layout_webviewmode +'</label></div>'+
'<div class="area-a2"><a onclick="removeColumn(' + key + '<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>'+ ')" 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 + '<div class="area-a3"><a onclick="setToggle(' + key +
@@ -574,6 +459,7 @@ function webviewParse(url, key, insert, icnsert, css) {
'"></div><div class="column-hide notf-indv-box" id="util-box_' + key + '"></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 + '" 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>'; '" 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; return html;
} }
function unstreamingTL(type,key,basekey,insert,icnsert,left_fold,css,animecss,q){ function unstreamingTL(type,key,basekey,insert,icnsert,left_fold,css,animecss,q){

View File

@@ -17,16 +17,6 @@ function menu() {
} }
$('#menu').css("left",left+"px") $('#menu').css("left",left+"px")
$('#menu').css("top",top+"px") $('#menu').css("top",top+"px")
var height = localStorage.getItem("menu-height");
var width = localStorage.getItem("menu-width");
if(height){
$('#menu').css("height", height + "px")
}else{
$('#menu').css("height", "460px")
}
if(width){
$('#menu').css("width", width + "px")
}
$('#menu').fadeIn(); $('#menu').fadeIn();
$("#menu-bar").html("TheDesk "+localStorage.getItem("ver")); $("#menu-bar").html("TheDesk "+localStorage.getItem("ver"));
$(".menu-content").addClass("hide"); $(".menu-content").addClass("hide");
@@ -40,8 +30,7 @@ function menu() {
} }
$(function() { $(function() {
$("#menu").draggable({ $( "#menu" ).draggable({handle: "#menu-bar",
handle: "#menu-bar",
stop: function() { stop: function() {
var left=$('#menu').offset().left; var left=$('#menu').offset().left;
if(left>$('body').width()-$('#menu').width()){ if(left>$('body').width()-$('#menu').width()){
@@ -59,15 +48,8 @@ $(function () {
localStorage.setItem("menu-top",top); localStorage.setItem("menu-top",top);
} }
}); });
$("#menu").resizable({
minHeight: 150,
minWidth: 200,
stop: function (event, ui) {
localStorage.setItem("menu-height", ui.size.height);
localStorage.setItem("menu-width", ui.size.width);
}
});
}); });
function help(){ function help(){
postMessage(["openUrl", "https://docs.thedesk.top"], "*") const {shell} = require('electron');
shell.openExternal("https://docs.thedesk.top");
} }

View File

@@ -2,15 +2,6 @@
//✕隠す //✕隠す
function hide() { function hide() {
$("#right-side").hide() $("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "100%")
var width = localStorage.getItem("postbox-width");
if(width){
width = width.replace("px", "") * 1
} else {
width = 300
}
$("#post-box").css("width", width)
$('#post-box').fadeOut() $('#post-box').fadeOut()
$("#post-box").removeClass("appear") $("#post-box").removeClass("appear")
$("#emoji").addClass("hide") $("#emoji").addClass("hide")
@@ -47,20 +38,11 @@ function show() {
} }
$('#post-box').css("left",left+"px") $('#post-box').css("left",left+"px")
$('#post-box').css("top",top+"px") $('#post-box').css("top",top+"px")
var width = localStorage.getItem("postbox-width");
if (width) {
$('#post-box').css("width", width + "px")
} else {
$('#post-box').css("width", "300px")
}
$('#post-box').fadeIn(); $('#post-box').fadeIn();
$('#textarea').characterCounter();
mdCheck()
} }
$(function() { $(function() {
$("#post-box").draggable({ $( "#post-box" ).draggable({handle: "#post-bar",
handle: "#post-bar",
stop: function() { stop: function() {
var left=$('#post-box').offset().left; var left=$('#post-box').offset().left;
if(left>$('body').width()-$('#post-box').width()){ if(left>$('body').width()-$('#post-box').width()){
@@ -78,14 +60,6 @@ $(function () {
localStorage.setItem("postbox-top",top); localStorage.setItem("postbox-top",top);
} }
}); });
$("#post-box").resizable({
minHeight: 150,
minWidth: 100,
stop: function (event, ui) {
$("#textarea").blur()
localStorage.setItem("postbox-width", ui.size.width);
}
});
}); });
//コード受信 //コード受信
@@ -94,6 +68,7 @@ if (location.search) {
var mode=m[1]; var mode=m[1];
var codex=m[2]; var codex=m[2];
if(mode=="share"){ if(mode=="share"){
console.log(codex);
$('textarea').focus(); $('textarea').focus();
$("#textarea").val(decodeURI(codex)); $("#textarea").val(decodeURI(codex));
show(); show();
@@ -107,20 +82,15 @@ $('#posttgl').click(function (e) {
}else{ }else{
hide(); hide();
} }
$('.cvo').removeClass("selectedToot")
selectedColumn = 0
selectedToot = 0
}); });
$("#timeline-container,#group").click(function(e) { $("#timeline-container,#group").click(function(e) {
if(localStorage.getItem("box")!="absolute"){ if(localStorage.getItem("box")!="absolute"){
if($('#post-box').hasClass("appear") && !localStorage.getItem("nohide")){ if($('#post-box').hasClass("appear") && !localStorage.getItem("nohide")){
hide(); hide();
} }
} }
$('.cvo').removeClass("selectedToot")
selectedColumn = 0
selectedToot = 0
localStorage.removeItem("nohide") localStorage.removeItem("nohide")
}); });
$('#textarea,#cw-text').focusout(function(e) { $('#textarea,#cw-text').focusout(function(e) {
@@ -129,7 +99,4 @@ $('#textarea,#cw-text').focusout(function (e) {
localStorage.removeItem("nohide") localStorage.removeItem("nohide")
} }
//setTimeout(remove, 100); //setTimeout(remove, 100);
$('.cvo').removeClass("selectedToot")
selectedColumn = 0
selectedToot = 0
}); });

View File

@@ -9,18 +9,14 @@ scrollevent();
function scrollck() { function scrollck() {
$(".tl-box").each(function(i, elem) { $(".tl-box").each(function(i, elem) {
var tlid = $(this).attr('tlid'); var tlid = $(this).attr('tlid');
//一番上ならためていた新しいトゥートを表示ないしtealなら未読管理モード //一番上ならためていた新しいトゥートを表示
if ($(this).scrollTop() === 0) { if ($(this).scrollTop() === 0) {
if (!$("#unread_" + tlid + " .material-icons").hasClass("teal-text")) {
var pool = localStorage.getItem("pool_" + tlid); var pool = localStorage.getItem("pool_" + tlid);
if (pool) { if (pool) {
$("#timeline_" + tlid).prepend(pool); $("#timeline_" + tlid).prepend(pool);
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
localStorage.removeItem("pool_" + tlid); localStorage.removeItem("pool_" + tlid);
} }
} else {
ueload(tlid)
}
//自動リフレッシュ //自動リフレッシュ
if( $("#timeline_" + tlid+" .cvo").length > 30 ){ if( $("#timeline_" + tlid+" .cvo").length > 30 ){
for(var i=30;i<$("#timeline_" + tlid +" .cvo").length;i++){ for(var i=30;i<$("#timeline_" + tlid +" .cvo").length;i++){
@@ -32,22 +28,13 @@ function scrollck() {
var scrt = $(this).find(".tl").height() - $(window).height(); var scrt = $(this).find(".tl").height() - $(window).height();
var scr = $(this).scrollTop(); var scr = $(this).scrollTop();
if (scr > scrt) { if (scr > scrt) {
console.log("kicked more loading:" + tlid); console.log("kicked");
moreload('', tlid); moreload('', tlid);
} }
}); });
} }
function goTop(id){ function goTop(id){
if ($("#unread_" + id + " .material-icons").hasClass("teal-text")) {
$("#unread_" + id + " .material-icons").removeClass("teal-text")
var multi = localStorage.getItem("column")
var obj = JSON.parse(multi)
var acct_id = obj[id * 1].domain
var type = obj[id * 1].type
console.log(id, type)
columnReload(id, type)
}
if ($("#timeline_box_"+id+"_box .tl-box").scrollTop() > 500){ if ($("#timeline_box_"+id+"_box .tl-box").scrollTop() > 500){
$("#timeline_box_"+id+"_box .tl-box").scrollTop(500) $("#timeline_box_"+id+"_box .tl-box").scrollTop(500)
} }
@@ -57,6 +44,7 @@ function goColumn(key) {
$("#sort-box").addClass("hide"); $("#sort-box").addClass("hide");
$("#sort-box").removeClass("show"); $("#sort-box").removeClass("show");
if($('[tlid='+key+']').length){ if($('[tlid='+key+']').length){
console.log($('[tlid='+key+']').offset().left);
$("#timeline-container").animate({scrollLeft:$("#timeline-container").scrollLeft()+$('[tlid='+key+']').offset().left}); $("#timeline-container").animate({scrollLeft:$("#timeline-container").scrollLeft()+$('[tlid='+key+']').offset().left});
} }
} }

View File

@@ -5,7 +5,7 @@ var envView = new Vue({
methods: { methods: {
complete: function (i,val) { complete: function (i,val) {
var ls=envView.config[i].storage; var ls=envView.config[i].storage;
M.toast({ html: 'Complete', displayLength: 3000 }) Materialize.toast("Complete", 3000);
if(!val){ if(!val){
var id=envView.config[i].id; var id=envView.config[i].id;
var val=$("#"+id).val() var val=$("#"+id).val()
@@ -23,47 +23,29 @@ var tlView = new Vue({
data: {config:tlConstruction}, data: {config:tlConstruction},
methods: { methods: {
complete: function (i,val) { complete: function (i,val) {
var ls = tlView.config[i]; var ls=tlView.config[i].storage;
if (val) { if(!val){
localStorage.setItem(ls.storage, val) var id=tlView.config[i].id;
} 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() var val=$("#"+id).val()
localStorage.setItem(ls[j].storage, val)
}
} }
Materialize.toast("Complete", 3000);
localStorage.setItem(ls,val)
return true return true
} }
} }
}); });
var postView = new Vue({ var postView = new Vue({
el: '#postView', el: '#postView',
data: { config: postConstruction, kirishima: localStorage.getItem('kirishima'), quoters: localStorage.getItem('quoters') }, data: {config:postConstruction,kirishima:localStorage.getItem('kirishima')},
methods: { methods: {
complete: function (i,val) { complete: function (i,val) {
var ls = postView.config[i]; var ls=postView.config[i].storage;
if (val) { Materialize.toast("Complete", 3000);
localStorage.setItem(ls.storage, val) if(!val){
} else { var id=postView.config[i].id;
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() var val=$("#"+id).val()
localStorage.setItem(ls[j].storage, val)
}
} }
localStorage.setItem(ls,val)
return true return true
} }
} }
@@ -80,7 +62,7 @@ function settings() {
$("#" + theme).prop("checked", true); $("#" + theme).prop("checked", true);
}else{ }else{
if (cd != localStorage.getItem("theme")) { if (cd != localStorage.getItem("theme")) {
M.toast({ html: lang.lang_setting_theme.replace("{{set}}", ct), displayLength: 3000 }) Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
} }
//テーマはこの場で設定 //テーマはこの場で設定
themes(cd); themes(cd);
@@ -89,14 +71,14 @@ function settings() {
var fontd = $("#font").val(); var fontd = $("#font").val();
if(fontd){ if(fontd){
if (fontd != localStorage.getItem("font")) { if (fontd != localStorage.getItem("font")) {
M.toast({ html: lang.lang_setting_font.replace("{{set}}", ct), displayLength: 3000 }) Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,fontd), 3000);
} }
localStorage.setItem("font", fontd); localStorage.setItem("font", fontd);
themes(); themes();
}else{ }else{
if(localStorage.getItem("font")){ if(localStorage.getItem("font")){
localStorage.removeItem("font"); localStorage.removeItem("font");
M.toast({ html: lang.lang_setting_font.replace("{{set}}", ct), displayLength: 3000 }) Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,lang.lang_setting_default), 3000);
themes(); themes();
} }
} }
@@ -114,32 +96,16 @@ function load() {
var max=tlView.config.length; var max=tlView.config.length;
for(var i=0;i<max;i++){ for(var i=0;i<max;i++){
var ls=tlView.config[i].storage; var ls=tlView.config[i].storage;
if (ls) {
if(localStorage.getItem(ls)){ if(localStorage.getItem(ls)){
tlView.config[i].setValue=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; var max=postView.config.length;
for(var i=0;i<max;i++){ for(var i=0;i<max;i++){
var ls=postView.config[i].storage; var ls=postView.config[i].storage;
if (ls) {
if(localStorage.getItem(ls)){ if(localStorage.getItem(ls)){
postView.config[i].setValue=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")){ if(localStorage.getItem("imas")){
$(".imas").removeClass("hide"); $(".imas").removeClass("hide");
@@ -161,36 +127,6 @@ function load() {
$("#c2-file").text(localStorage.getItem("custom2")); $("#c2-file").text(localStorage.getItem("custom2"));
$("#c3-file").text(localStorage.getItem("custom3")); $("#c3-file").text(localStorage.getItem("custom3"));
$("#c4-file").text(localStorage.getItem("custom4")); $("#c4-file").text(localStorage.getItem("custom4"));
var cvol = localStorage.getItem("customVol")
if (cvol) {
$("#soundvol").val(cvol * 100);
$("#soundVolVal").text(cvol * 100)
}
//$("#log").val(localStorage.getItem("errors"))
}
function customVol() {
var cvol = $("#soundvol").val()
$("#soundVolVal").text(cvol)
localStorage.setItem("customVol", cvol / 100)
var sound = localStorage.getItem("favSound");
if (sound == "default") {
var file = "../../source/notif.wav"
}else{
if (sound == "c1") {
var file = localStorage.getItem("custom1");
} else if (sound == "c2") {
var file = localStorage.getItem("custom2");
} else if (sound == "c3") {
var file = localStorage.getItem("custom3");
} else if (sound == "c4") {
var file = localStorage.getItem("custom4");
}
}
request = new XMLHttpRequest();
request.open("GET", file, true);
request.responseType = "arraybuffer";
request.onload = playSound;
request.send();
} }
function climute(){ function climute(){
@@ -210,7 +146,7 @@ function climute() {
var list = key * 1 + 1; var list = key * 1 + 1;
templete = '<div class="acct" id="acct_' + key + '">' + list + templete = '<div class="acct" id="acct_' + key + '">' + list +
'.' + '.' +
escapeHTML(cli) + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' + cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
key + ')">'+lang.lang_del+'</button><br></div>'; key + ')">'+lang.lang_del+'</button><br></div>';
$("#mute-cli").append(templete); $("#mute-cli").append(templete);
}); });
@@ -222,19 +158,18 @@ function cliMuteDel(key) {
obj.splice(key, 1); obj.splice(key, 1);
var json = JSON.stringify(obj); var json = JSON.stringify(obj);
localStorage.setItem("client_mute", json); localStorage.setItem("client_mute", json);
climute(); mute();
} }
function wordmute(){ function wordmute(){
var word = localStorage.getItem("word_mute"); var word = localStorage.getItem("word_mute");
var obj = JSON.parse(word); var obj = JSON.parse(word);
if (!obj) { obj = [] } $('#wordmute').material_chip({
$('#wordmute').chips({
data: obj, data: obj,
}); });
} }
function wordmuteSave(){ function wordmuteSave(){
var word = M.Chips.getInstance($("#wordmute")).chipsData; var word=$('#wordmute').material_chip('data');
var json = JSON.stringify(word); var json = JSON.stringify(word);
localStorage.setItem("word_mute", json); localStorage.setItem("word_mute", json);
} }
@@ -242,29 +177,34 @@ function wordmuteSave() {
function wordemp(){ function wordemp(){
var word = localStorage.getItem("word_emp"); var word = localStorage.getItem("word_emp");
var obj = JSON.parse(word); var obj = JSON.parse(word);
if (!obj) { obj = [] } $('#wordemp').material_chip({
$('#wordemp').chips({
data: obj, data: obj,
}); });
} }
function wordempSave(){ function wordempSave(){
var word = M.Chips.getInstance($("#wordemp")).chipsData; var word=$('#wordemp').material_chip('data');
var json = JSON.stringify(word); var json = JSON.stringify(word);
localStorage.setItem("word_emp", json); localStorage.setItem("word_emp", json);
} }
function notftest(){ function notftest(){
var os = localStorage.getItem("platform"); var electron = require("electron");
var ipc = electron.ipcRenderer;
var os = electron.remote.process.platform;
var options = { var options = {
body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')', body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',
icon: localStorage.getItem("prof_0") icon: localStorage.getItem("prof_0")
}; };
if(os=="darwin"){
var n = new Notification('TheDesk'+lang.lang_setting_notftest, options); 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){ function oks(no){
var txt=$("#oks-"+no).val(); var txt=$("#oks-"+no).val();
localStorage.setItem("oks-"+no, txt); localStorage.setItem("oks-"+no, txt);
M.toast({ html: lang.lang_setting_ksref, displayLength: 3000 }) Materialize.toast(lang.lang_setting_ksref, 3000);
} }
function oksload(){ function oksload(){
if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))} if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))}
@@ -272,24 +212,30 @@ function oksload() {
if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))} if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))}
} }
function changelang(lang){ function changelang(lang){
postMessage(["lang", 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(){ function exportSettings(){
Swal.fire({ if(!confirm(lang.lang_setting_exportwarn)){
title: lang.lang_setting_exportwarn, return false;
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no
}).then((result) => {
if (result.value) {
postMessage(["exportSettings", ""], "*")
} }
}) 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) => {
console.log(savedFiles);
if(!savedFiles){
return false;
} }
function exportSettingsCore() {
var exp={}; var exp={};
//Accounts //Accounts
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
@@ -347,29 +293,35 @@ function exportSettingsCore() {
var tagarr = localStorage.getItem("tag"); var tagarr = localStorage.getItem("tag");
var favtag = JSON.parse(tagarr); var favtag = JSON.parse(tagarr);
exp.favoriteTags=favtag; exp.favoriteTags=favtag;
exp.revisons = 2.1 console.log(exp);
exp.meta = {} ipc.send('export', [savedFiles,JSON.stringify(exp)]);
exp.meta.date = new Date() alert("Done.")
exp.meta.thedesk = localStorage.getItem("ver") //cards
exp.meta.platform = localStorage.getItem("platform") //lang
return exp; });
} }
function importSettings(){ function importSettings(){
Swal.fire({ if(!confirm(lang.lang_setting_importwarn)){
title: lang.lang_setting_importwarn, return false;
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) => {
console.log(fileNames);
if(!fileNames){
return false;
} }
function importSettingsCore(obj) { ipc.send('import', fileNames[0]);
ipc.on('config', function (event, arg) {
var obj = JSON.parse(arg);
if(obj){ if(obj){
localStorage.clear(); localStorage.clear();
localStorage.setItem("multi",JSON.stringify(obj.accts)); localStorage.setItem("multi",JSON.stringify(obj.accts));
@@ -384,7 +336,7 @@ function importSettingsCore(obj) {
} }
localStorage.setItem("column",JSON.stringify(obj.columns)); localStorage.setItem("column",JSON.stringify(obj.columns));
if(obj.config){ if(obj.config){
//Version 2~ //Version 2
var max=envView.config.length; var max=envView.config.length;
for(var i=0;i<max;i++){ for(var i=0;i<max;i++){
var ls=envView.config[i].storage; var ls=envView.config[i].storage;
@@ -410,6 +362,7 @@ function importSettingsCore(obj) {
//Version 1 //Version 1
localStorage.setItem("theme",obj.theme); localStorage.setItem("theme",obj.theme);
if(obj.width){ if(obj.width){
console.log(obj.width)
localStorage.setItem("width",obj.width); localStorage.setItem("width",obj.width);
} }
if(obj.font){ if(obj.font){
@@ -455,25 +408,36 @@ function importSettingsCore(obj) {
} }
location.href="index.html"; location.href="index.html";
}else{ }else{
Swal.fire({ alert("Error.")
type: 'error',
title: 'Error'
})
} }
})
//cards
//lang
});
} }
function savefolder(){ function savefolder(){
postMessage(["sendSinmpleIpc", "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(){ function font(){
postMessage(["sendSinmpleIpc", "fonts"], "*") var electron = require("electron");
} var ipc = electron.ipcRenderer;
function fontList(arg) { ipc.send('fonts', []);
ipc.on('font-list', function (event, arg) {
$("#fonts").removeClass("hide"); $("#fonts").removeClass("hide");
for( var i=0; i<arg.length; i++) { for( var i=0; i<arg.length; i++) {
var font=arg[i]; var font=arg[i];
$("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>") $("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>")
} }
});
} }
function insertFont(name){ function insertFont(name){
$("#font").val(name); $("#font").val(name);
@@ -518,38 +482,14 @@ function customComp() {
if(!secondaryC){secondaryC="rgb(255,255,255)"} if(!secondaryC){secondaryC="rgb(255,255,255)"}
var textC=$("#color-picker2_value").val(); var textC=$("#color-picker2_value").val();
if(!textC){textC="rgb(255,255,255)"} if(!textC){textC="rgb(255,255,255)"}
var multi = localStorage.getItem("multi");
if($("#pickers").hasClass("advanceTheme")){
var accentC=$("#color-picker3_value").val(); var accentC=$("#color-picker3_value").val();
if (!accentC) { accentC = null } if(!accentC){accentC="rgb(255,255,255)"}
var activeC = $("#color-picker4_value").val(); var multi = localStorage.getItem("multi");
if (!activeC) { activeC = null }
var modalC = $("#color-picker5_value").val();
if (!modalC) { modalC = null }
var bottomC = $("#color-picker6_value").val();
if (!bottomC) { bottomC = null }
var postboxC = $("#color-picker7_value").val();
if (!postboxC) { postboxC = null }
var subcolorC = $("#color-picker8_value").val();
if (!subcolorC) { subcolorC = null }
var advanceTheme = {
"TheDeskAccent": accentC,
"TheDeskActive": activeC,
"TheDeskModal": modalC,
"TheDeskBottom": bottomC,
"TheDeskPostbox": postboxC,
"TheDeskSubcolor": subcolorC
}
}else{
var advanceTheme = {}
}
var my=JSON.parse(multi)[0].name; var my=JSON.parse(multi)[0].name;
var id=$("#custom-edit-sel").val(); var id=$("#custom-edit-sel").val();
if(id=="add_new"){ if(id=="add_new"){
id=makeCID(); id=makeCID();
} }
localStorage.setItem("customtheme-id", id)
var json={ var json={
"name": nameC, "name": nameC,
"author": my, "author": my,
@@ -560,22 +500,30 @@ function customComp() {
"secondary": secondaryC, "secondary": secondaryC,
"text": textC "text": textC
}, },
"props": advanceTheme, "props": {
"TheDeskAccent": accentC
},
"id": id "id": id
} }
$("#custom_json").val(JSON.stringify(json)); $("#custom_json").val(JSON.stringify(json));
themes("custom"); themes();
$("#custom").prop("checked", true);
$("#custom_name").val(""); $("#custom_name").val("");
$("#custom_desc").val(""); $("#custom_desc").val("");
$("#dark").prop("checked", true); $("#dark").prop("checked", true);
$("#custom_json").val(""); $("#custom_json").val("");
for(var i =0;i <= 8; i++){ $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
$("#color-picker" + i + "-wrap").html('<div class="color-picker" id="color-picker' + i + '"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
$("#color-picker" + i + "_value").val(""); $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
pickerDefine(i, "fff"); $("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
} $("#color-picker0_value").val("");
postMessage(["themeJsonCreate", JSON.stringify(json)], "*") $("#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(){ function deleteIt(){
var id=$("#custom-sel-sel").val(); var id=$("#custom-sel-sel").val();
@@ -583,17 +531,27 @@ function deleteIt() {
$("#custom_desc").val(""); $("#custom_desc").val("");
$("#dark").prop("checked", true); $("#dark").prop("checked", true);
$("#custom_json").val(""); $("#custom_json").val("");
for(var i =0;i <= 8; i++){ $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
$("#color-picker" + i + "-wrap").html('<div class="color-picker" id="color-picker' + i + '"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
$("#color-picker" + i + "_value").val(""); $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
pickerDefine(i, "fff"); $("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
} $("#color-picker0_value").val("");
postMessage(["themeJsonDelete", id], "*") $("#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(){ function ctLoad(){
postMessage(["sendSinmpleIpc", "theme-json-list"], "*") ipc.send('theme-json-list', "");
} ipc.on('theme-json-list-response', function (event, args) {
function ctLoadCore(args) { console.log(args);
var templete=""; var templete="";
Object.keys(args).forEach(function(key) { Object.keys(args).forEach(function(key) {
var theme = args[key]; var theme = args[key];
@@ -606,7 +564,8 @@ function ctLoadCore(args) {
$("#custom-sel-sel").html(templete); $("#custom-sel-sel").html(templete);
templete='<option value="add_new">'+$("#edit-selector").attr("data-add")+'</option>'+templete; templete='<option value="add_new">'+$("#edit-selector").attr("data-add")+'</option>'+templete;
$("#custom-edit-sel").html(templete); $("#custom-edit-sel").html(templete);
$('select').formSelect(); $('select').material_select('update');
});
} }
function customSel(){ function customSel(){
var id=$("#custom-sel-sel").val(); var id=$("#custom-sel-sel").val();
@@ -619,86 +578,83 @@ function custom() {
$("#custom_desc").val(""); $("#custom_desc").val("");
$("#dark").prop("checked", true); $("#dark").prop("checked", true);
$("#custom_json").val(""); $("#custom_json").val("");
for(var i =0;i <= 8; i++){ $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
$("#color-picker" + i + "-wrap").html('<div class="color-picker" id="color-picker' + i + '"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
$("#color-picker" + i + "_value").val(""); $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
pickerDefine(i, "fff"); $("#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") $("#delTheme").addClass("disabled")
}else{ }else{
$("#delTheme").removeClass("disabled") $("#delTheme").removeClass("disabled")
postMessage(["themeJsonRequest", id], "*") ipc.send('theme-json-request', id);
} ipc.on('theme-json-response', function (event, args) {
} console.log(args);
function customConnect(raw) {
var args = raw[0]
$("#custom_name").val(args.name); $("#custom_name").val(args.name);
$("#custom_desc").val(args.desc); $("#custom_desc").val(args.desc);
$("#"+args.base).prop("checked", true); $("#"+args.base).prop("checked", true);
//Primary
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>') $("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
pickerDefine(0,rgbToHex(args.vars.primary)) pickerDefine(0,rgbToHex(args.vars.primary))
$("#color-picker0_value").val(args.vars.primary); $("#color-picker0_value").val(args.vars.primary);
//Secondary
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>') $("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
pickerDefine(1,rgbToHex(args.vars.secondary)) pickerDefine(1,rgbToHex(args.vars.secondary))
$("#color-picker1_value").val(args.vars.secondary); $("#color-picker1_value").val(args.vars.secondary);
//Text
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>') $("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
$("#color-picker2_value").val(args.vars.text); $("#color-picker2_value").val(args.vars.text);
pickerDefine(2,rgbToHex(args.vars.text)) pickerDefine(2,rgbToHex(args.vars.text))
//TheDesk Only
advancedConncet(args, "TheDeskAccent", "secondary", 3)
advancedConncet(args, "TheDeskActive", "primary", 4)
advancedConncet(args, "TheDeskModal", "secondary", 5)
advancedConncet(args, "TheDeskBottom", "primary", 6)
advancedConncet(args, "TheDeskPostbox", "primary", 7)
advancedConncet(args, "TheDeskSubcolor", "primary", 8)
$("#custom_json").val(raw[1]);
}
function advancedConncet(args, tar, sub, i){
if(args.props){ if(args.props){
if (args.props[tar]) { if(args.props.TheDeskAccent){
var color = args.props[tar]; var accent=args.props.TheDeskAccent;
$("#pickers").addClass("advanceTheme")
$(".advanced").removeClass("hide")
}else{ }else{
var color = args.vars[sub]; var accent=args.vars.secondary;
} }
}else{ }else{
var color = args.vars[sub]; 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));
});
} }
$("#color-picker"+i+"-wrap").html('<div class="color-picker" id="color-picker'+i+'"></div>')
$("#color-picker"+i+"_value").val(color);
pickerDefine(i, rgbToHex(color))
} }
function customImp(){ function customImp(){
var json=$("#custom_import").val(); var json=$("#custom_import").val();
if(JSON5.parse(json)){ if(JSON5.parse(json)){
postMessage(["themeJsonCreate", json], "*") ipc.send('theme-json-create', json);
}else{ }else{
Swal.fire({ alert("Error")
type: 'error',
title: 'Error'
})
} }
} }
function advanced(){
$(".advanced").toggleClass("hide")
$("#pickers").toggleClass("advanceTheme")
}
function clearCustomImport() {
$("#custom_import").val("");
}
function hardwareAcceleration(had){ function hardwareAcceleration(had){
postMessage(["ha", had], "*") console.log("ha");
ipc.send('ha', had);
} }
ipc.on('theme-json-create-complete', function (event, args) {
$("#custom_import").val("");
ctLoad()
});
function customSound(key){ function customSound(key){
postMessage(["customSound", key], "*") var electron = require("electron");
} var remote=electron.remote;
function customSoundSave(key, file) { var dialog=remote.dialog;
localStorage.setItem("custom" + key, file); dialog.showOpenDialog(null, {
$("#c1-file").text(file) 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])
});
} }
window.onload = function() { window.onload = function() {
//最初に読む //最初に読む
@@ -709,9 +665,6 @@ window.onload = function () {
checkSpotify(); checkSpotify();
voiceSettingLoad(); voiceSettingLoad();
oksload(); oksload();
npprovider();
ctLoad() ctLoad()
}; };
//設定画面で未読マーカーは要らない
function asReadEnd() {
postMessage(["asReadComp", ""], "*")
}

953
app/js/ui/settings.old.js Normal file
View File

@@ -0,0 +1,953 @@
//設定(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()

Some files were not shown because too many files have changed in this diff Show More